summaryrefslogtreecommitdiff
path: root/vendor/github.com
diff options
context:
space:
mode:
authorRenovate Bot <bot@renovateapp.com>2019-12-06 00:23:21 +0000
committerRenovate Bot <bot@renovateapp.com>2019-12-06 00:23:21 +0000
commitbf55feb2f1b676a947fbcb6057ad9e3367df570b (patch)
treebd9c32e984839fbe070e6dff8de64f0e3f35399c /vendor/github.com
parent94c6f0ca867b22e964cf95c91375ee2bb6303f23 (diff)
Update module aws/aws-sdk-go to v1.25.48
Diffstat (limited to 'vendor/github.com')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go92
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/config.go15
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go3
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go16
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go65
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go25
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/session.go9
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go21
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/version.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/ec2/api.go7328
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/kms/api.go3074
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/kms/errors.go46
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/api.go2292
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go10
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go233
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_errors.go151
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/errors.go8
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go43
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/accesspoint_arn.go45
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/arn.go71
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go35
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/ssm/api.go179
22 files changed, 12833 insertions, 930 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go
new file mode 100644
index 00000000..854f939a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/arn/arn.go
@@ -0,0 +1,92 @@
+// Package arn provides a parser for interacting with Amazon Resource Names.
+package arn
+
+import (
+ "errors"
+ "strings"
+)
+
+const (
+ arnDelimiter = ":"
+ arnSections = 6
+ arnPrefix = "arn:"
+
+ // zero-indexed
+ sectionPartition = 1
+ sectionService = 2
+ sectionRegion = 3
+ sectionAccountID = 4
+ sectionResource = 5
+
+ // errors
+ invalidPrefix = "arn: invalid prefix"
+ invalidSections = "arn: not enough sections"
+)
+
+// ARN captures the individual fields of an Amazon Resource Name.
+// See http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html for more information.
+type ARN struct {
+ // The partition that the resource is in. For standard AWS regions, the partition is "aws". If you have resources in
+ // other partitions, the partition is "aws-partitionname". For example, the partition for resources in the China
+ // (Beijing) region is "aws-cn".
+ Partition string
+
+ // The service namespace that identifies the AWS product (for example, Amazon S3, IAM, or Amazon RDS). For a list of
+ // namespaces, see
+ // http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces.
+ Service string
+
+ // The region the resource resides in. Note that the ARNs for some resources do not require a region, so this
+ // component might be omitted.
+ Region string
+
+ // The ID of the AWS account that owns the resource, without the hyphens. For example, 123456789012. Note that the
+ // ARNs for some resources don't require an account number, so this component might be omitted.
+ AccountID string
+
+ // The content of this part of the ARN varies by service. It often includes an indicator of the type of resource —
+ // for example, an IAM user or Amazon RDS database - followed by a slash (/) or a colon (:), followed by the
+ // resource name itself. Some services allows paths for resource names, as described in
+ // http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-paths.
+ Resource string
+}
+
+// Parse parses an ARN into its constituent parts.
+//
+// Some example ARNs:
+// arn:aws:elasticbeanstalk:us-east-1:123456789012:environment/My App/MyEnvironment
+// arn:aws:iam::123456789012:user/David
+// arn:aws:rds:eu-west-1:123456789012:db:mysql-db
+// arn:aws:s3:::my_corporate_bucket/exampleobject.png
+func Parse(arn string) (ARN, error) {
+ if !strings.HasPrefix(arn, arnPrefix) {
+ return ARN{}, errors.New(invalidPrefix)
+ }
+ sections := strings.SplitN(arn, arnDelimiter, arnSections)
+ if len(sections) != arnSections {
+ return ARN{}, errors.New(invalidSections)
+ }
+ return ARN{
+ Partition: sections[sectionPartition],
+ Service: sections[sectionService],
+ Region: sections[sectionRegion],
+ AccountID: sections[sectionAccountID],
+ Resource: sections[sectionResource],
+ }, nil
+}
+
+// IsARN returns whether the given string is an arn
+// by looking for whether the string starts with arn:
+func IsARN(arn string) bool {
+ return strings.HasPrefix(arn, arnPrefix) && strings.Count(arn, ":") > arnSections-1
+}
+
+// String returns the canonical representation of the ARN
+func (arn ARN) String() string {
+ return arnPrefix +
+ arn.Partition + arnDelimiter +
+ arn.Service + arnDelimiter +
+ arn.Region + arnDelimiter +
+ arn.AccountID + arnDelimiter +
+ arn.Resource
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go
index 93ebbcc1..869db266 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go
@@ -161,6 +161,10 @@ type Config struct {
// on GetObject API calls.
S3DisableContentMD5Validation *bool
+ // Set this to `true` to have the S3 service client to use the region specified
+ // in the ARN, when an ARN is provided as an argument to a bucket parameter.
+ S3UseARNRegion *bool
+
// Set this to `true` to disable the EC2Metadata client from overriding the
// default http.Client's Timeout. This is helpful if you do not want the
// EC2Metadata client to create a new http.Client. This options is only
@@ -385,6 +389,13 @@ func (c *Config) WithS3DisableContentMD5Validation(enable bool) *Config {
}
+// WithS3UseARNRegion sets a config S3UseARNRegion value and
+// returning a Config pointer for chaining
+func (c *Config) WithS3UseARNRegion(enable bool) *Config {
+ c.S3UseARNRegion = &enable
+ return c
+}
+
// WithUseDualStack sets a config UseDualStack value returning a Config
// pointer for chaining.
func (c *Config) WithUseDualStack(enable bool) *Config {
@@ -513,6 +524,10 @@ func mergeInConfig(dst *Config, other *Config) {
dst.S3DisableContentMD5Validation = other.S3DisableContentMD5Validation
}
+ if other.S3UseARNRegion != nil {
+ dst.S3UseARNRegion = other.S3UseARNRegion
+ }
+
if other.UseDualStack != nil {
dst.UseDualStack = other.UseDualStack
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go
index 1980c8c1..e6248360 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go
@@ -90,6 +90,7 @@ import (
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/credentials"
+ "github.com/aws/aws-sdk-go/internal/sdkio"
)
const (
@@ -142,7 +143,7 @@ const (
// DefaultBufSize limits buffer size from growing to an enormous
// amount due to a faulty process.
- DefaultBufSize = 1024
+ DefaultBufSize = int(8 * sdkio.KibiByte)
// DefaultTimeout default limit on time a process can run.
DefaultTimeout = time.Duration(1) * time.Minute
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
index fe25edf8..12897eef 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
@@ -31,7 +31,7 @@ func (c *EC2Metadata) getToken(duration time.Duration) (tokenOutput, error) {
// Swap the unmarshalMetadataHandler with unmarshalTokenHandler on this request.
req.Handlers.Unmarshal.Swap(unmarshalMetadataHandlerName, unmarshalTokenHandler)
- ttl := strconv.FormatInt(int64(duration / time.Second),10)
+ ttl := strconv.FormatInt(int64(duration/time.Second), 10)
req.HTTPRequest.Header.Set(ttlHeader, ttl)
err := req.Send()
@@ -145,17 +145,17 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
// Region returns the region the instance is running in.
func (c *EC2Metadata) Region() (string, error) {
- resp, err := c.GetMetadata("placement/availability-zone")
+ ec2InstanceIdentityDocument, err := c.GetInstanceIdentityDocument()
if err != nil {
return "", err
}
-
- if len(resp) == 0 {
- return "", awserr.New("EC2MetadataError", "invalid Region response", nil)
+ // extract region from the ec2InstanceIdentityDocument
+ region := ec2InstanceIdentityDocument.Region
+ if len(region) == 0 {
+ return "", awserr.New("EC2MetadataError", "invalid region received for ec2metadata instance", nil)
}
-
- // returns region without the suffix. Eg: us-west-2a becomes us-west-2
- return resp[:len(resp)-1], nil
+ // returns region
+ return region, nil
}
// Available returns if the application has access to the EC2 Metadata service.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index 0f77e9ca..767b2f69 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -2077,6 +2077,27 @@ var awsPartition = partition{
},
},
},
+ "iotsecuredtunneling": service{
+
+ Endpoints: endpoints{
+ "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{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"iotthingsgraph": service{
Defaults: endpoint{
CredentialScope: credentialScope{
@@ -2733,8 +2754,30 @@ var awsPartition = partition{
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ "fips-us-east-1": endpoint{
+ Hostname: "pinpoint-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "fips-us-west-2": endpoint{
+ Hostname: "pinpoint-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ "us-east-1": endpoint{
+ Hostname: "pinpoint.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "us-west-2": endpoint{
+ Hostname: "pinpoint.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
},
},
"polly": service{
@@ -2857,6 +2900,7 @@ var awsPartition = partition{
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
+ "sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-1": endpoint{},
@@ -3315,6 +3359,16 @@ var awsPartition = partition{
},
},
},
+ "schemas": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"sdb": service{
Defaults: endpoint{
Protocols: []string{"http", "https"},
@@ -3927,6 +3981,7 @@ var awsPartition = partition{
},
Endpoints: endpoints{
"ap-east-1": endpoint{},
+ "ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
@@ -3981,13 +4036,18 @@ var awsPartition = partition{
Protocols: []string{"https"},
},
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{},
"us-east-1": endpoint{},
"us-east-1-fips": endpoint{
Hostname: "translate-fips.us-east-1.amazonaws.com",
@@ -4002,6 +4062,7 @@ var awsPartition = partition{
Region: "us-east-2",
},
},
+ "us-west-1": endpoint{},
"us-west-2": endpoint{},
"us-west-2-fips": endpoint{
Hostname: "translate-fips.us-west-2.amazonaws.com",
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
index 4092ab8f..c1e0e9c9 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
@@ -4,6 +4,7 @@ import (
"fmt"
"os"
"strconv"
+ "strings"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
@@ -141,6 +142,12 @@ type envConfig struct {
// AWS_S3_US_EAST_1_REGIONAL_ENDPOINT=regional
// This can take value as `regional` or `legacy`
S3UsEast1RegionalEndpoint endpoints.S3UsEast1RegionalEndpoint
+
+ // Specifies if the S3 service should allow ARNs to direct the region
+ // the client's requests are sent to.
+ //
+ // AWS_S3_USE_ARN_REGION=true
+ S3UseARNRegion bool
}
var (
@@ -201,6 +208,9 @@ var (
s3UsEast1RegionalEndpoint = []string{
"AWS_S3_US_EAST_1_REGIONAL_ENDPOINT",
}
+ s3UseARNRegionEnvKey = []string{
+ "AWS_S3_USE_ARN_REGION",
+ }
)
// loadEnvConfig retrieves the SDK's environment configuration.
@@ -307,6 +317,21 @@ func envConfigLoad(enableSharedConfig bool) (envConfig, error) {
}
}
+ var s3UseARNRegion string
+ setFromEnvVal(&s3UseARNRegion, s3UseARNRegionEnvKey)
+ if len(s3UseARNRegion) != 0 {
+ switch {
+ case strings.EqualFold(s3UseARNRegion, "false"):
+ cfg.S3UseARNRegion = false
+ case strings.EqualFold(s3UseARNRegion, "true"):
+ cfg.S3UseARNRegion = true
+ default:
+ return envConfig{}, fmt.Errorf(
+ "invalid value for environment variable, %s=%s, need true or false",
+ s3UseARNRegionEnvKey[0], s3UseARNRegion)
+ }
+ }
+
return cfg, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
index ab6daac7..915e62cd 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
@@ -580,6 +580,14 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
cfg.Credentials = creds
}
+ cfg.S3UseARNRegion = userCfg.S3UseARNRegion
+ if cfg.S3UseARNRegion == nil {
+ cfg.S3UseARNRegion = &envCfg.S3UseARNRegion
+ }
+ if cfg.S3UseARNRegion == nil {
+ cfg.S3UseARNRegion = &sharedCfg.S3UseARNRegion
+ }
+
return nil
}
@@ -643,6 +651,7 @@ func (s *Session) ClientConfig(service string, cfgs ...*aws.Config) client.Confi
return client.Config{
Config: s.Config,
Handlers: s.Handlers,
+ PartitionID: resolved.PartitionID,
Endpoint: resolved.URL,
SigningRegion: resolved.SigningRegion,
SigningNameDerived: resolved.SigningNameDerived,
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
index 1d7b049c..a8ed8807 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
@@ -51,6 +51,9 @@ const (
// loading configuration from the config files if another profile name
// is not provided.
DefaultSharedConfigProfile = `default`
+
+ // S3 ARN Region Usage
+ s3UseARNRegionKey = "s3_use_arn_region"
)
// sharedConfig represents the configuration fields of the SDK config files.
@@ -89,6 +92,7 @@ type sharedConfig struct {
//
// endpoint_discovery_enabled = true
EnableEndpointDiscovery *bool
+
// CSM Options
CSMEnabled *bool
CSMHost string
@@ -106,6 +110,12 @@ type sharedConfig struct {
// s3_us_east_1_regional_endpoint = regional
// This can take value as `LegacyS3UsEast1Endpoint` or `RegionalS3UsEast1Endpoint`
S3UsEast1RegionalEndpoint endpoints.S3UsEast1RegionalEndpoint
+
+ // Specifies if the S3 service should allow ARNs to direct the region
+ // the client's requests are sent to.
+ //
+ // s3_use_arn_region=true
+ S3UseARNRegion bool
}
type sharedConfigFile struct {
@@ -306,6 +316,8 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, e
updateString(&cfg.CSMPort, section, csmPortKey)
updateString(&cfg.CSMClientID, section, csmClientIDKey)
+ updateBool(&cfg.S3UseARNRegion, section, s3UseARNRegionKey)
+
return nil
}
@@ -398,6 +410,15 @@ func updateString(dst *string, section ini.Section, key string) {
*dst = section.String(key)
}
+// updateBool will only update the dst with the value in the section key, key
+// is present in the section.
+func updateBool(dst *bool, section ini.Section, key string) {
+ if !section.Has(key) {
+ return
+ }
+ *dst = section.Bool(key)
+}
+
// updateBoolPtr will only update the dst with the value in the section key,
// key is present in the section.
func updateBoolPtr(dst **bool, section ini.Section, key string) {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go
index f094e263..437bc27a 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
-const SDKVersion = "1.25.41"
+const SDKVersion = "1.25.48"
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
index cf3ccc75..2299b2c3 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
@@ -88,6 +88,81 @@ func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, i
return out, req.Send()
}
+const opAcceptTransitGatewayPeeringAttachment = "AcceptTransitGatewayPeeringAttachment"
+
+// AcceptTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
+// client's request for the AcceptTransitGatewayPeeringAttachment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AcceptTransitGatewayPeeringAttachment for more information on using the AcceptTransitGatewayPeeringAttachment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AcceptTransitGatewayPeeringAttachmentRequest method.
+// req, resp := client.AcceptTransitGatewayPeeringAttachmentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
+func (c *EC2) AcceptTransitGatewayPeeringAttachmentRequest(input *AcceptTransitGatewayPeeringAttachmentInput) (req *request.Request, output *AcceptTransitGatewayPeeringAttachmentOutput) {
+ op := &request.Operation{
+ Name: opAcceptTransitGatewayPeeringAttachment,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AcceptTransitGatewayPeeringAttachmentInput{}
+ }
+
+ output = &AcceptTransitGatewayPeeringAttachmentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AcceptTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
+//
+// Accepts a transit gateway peering attachment request. The peering attachment
+// must be in the pendingAcceptance state.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AcceptTransitGatewayPeeringAttachment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
+func (c *EC2) AcceptTransitGatewayPeeringAttachment(input *AcceptTransitGatewayPeeringAttachmentInput) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
+ return out, req.Send()
+}
+
+// AcceptTransitGatewayPeeringAttachmentWithContext is the same as AcceptTransitGatewayPeeringAttachment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptTransitGatewayPeeringAttachment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AcceptTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
// AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
@@ -1212,11 +1287,12 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *
// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
//
-// Associates a subnet with a route table. The subnet and route table must be
-// in the same VPC. This association causes traffic originating from the subnet
-// to be routed according to the routes in the route table. The action returns
-// an association ID, which you need in order to disassociate the route table
-// from the subnet later. A route table can be associated with multiple subnets.
+// Associates a subnet in your VPC or an internet gateway or virtual private
+// gateway attached to your VPC with a route table in your VPC. This association
+// causes traffic from the subnet or gateway to be routed according to the routes
+// in the route table. The action returns an association ID, which you need
+// in order to disassociate the route table later. A route table can be associated
+// with multiple subnets.
//
// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
// in the Amazon Virtual Private Cloud User Guide.
@@ -1325,6 +1401,85 @@ func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *Associ
return out, req.Send()
}
+const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
+
+// AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
+// req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
+func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
+ op := &request.Operation{
+ Name: opAssociateTransitGatewayMulticastDomain,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateTransitGatewayMulticastDomainInput{}
+ }
+
+ output = &AssociateTransitGatewayMulticastDomainOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
+//
+// Associates the specified subnets and transit gateway attachments with the
+// specified transit gateway multicast domain.
+//
+// The transit gateway attachment must be in the available state before you
+// can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
+// to see the state of the attachment.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation AssociateTransitGatewayMulticastDomain for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
+func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
+ return out, req.Send()
+}
+
+// AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
@@ -1610,9 +1765,10 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r
// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
//
-// Attaches an internet gateway to a VPC, enabling connectivity between the
-// internet and the VPC. For more information about your VPC and internet gateway,
-// see the Amazon Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
+// Attaches an internet gateway or a virtual private gateway to a VPC, enabling
+// connectivity between the internet and the VPC. For more information about
+// your VPC and internet gateway, see the Amazon Virtual Private Cloud User
+// Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
//
// 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
@@ -4610,6 +4766,154 @@ func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *Cre
return out, req.Send()
}
+const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
+
+// CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the CreateLocalGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateLocalGatewayRouteRequest method.
+// req, resp := client.CreateLocalGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
+func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opCreateLocalGatewayRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateLocalGatewayRouteInput{}
+ }
+
+ output = &CreateLocalGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a static route for the specified local gateway route table.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateLocalGatewayRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
+func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
+ req, out := c.CreateLocalGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateLocalGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
+ req, out := c.CreateLocalGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
+
+// CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
+// client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
+// req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
+func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
+ op := &request.Operation{
+ Name: opCreateLocalGatewayRouteTableVpcAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
+ }
+
+ output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
+//
+// Associates the specified VPC with the specified local gateway route table.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
+func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
+ req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
+ return out, req.Send()
+}
+
+// CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
+ req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opCreateNatGateway = "CreateNatGateway"
// CreateNatGatewayRequest generates a "aws/request.Request" representing the
@@ -5245,7 +5549,7 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request,
//
// You must specify one of the following targets: internet gateway or virtual
// private gateway, NAT instance, NAT gateway, VPC peering connection, network
-// interface, or egress-only internet gateway.
+// interface, egress-only internet gateway, or transit gateway.
//
// When determining how to route traffic, we use the route with the most specific
// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
@@ -6332,6 +6636,164 @@ func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTran
return out, req.Send()
}
+const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
+
+// CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
+// client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
+// req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
+func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
+ op := &request.Operation{
+ Name: opCreateTransitGatewayMulticastDomain,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateTransitGatewayMulticastDomainInput{}
+ }
+
+ output = &CreateTransitGatewayMulticastDomainOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a multicast domain using the specified transit gateway.
+//
+// The transit gateway must be in the available state before you create a domain.
+// Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
+// to see the state of transit gateway.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateTransitGatewayMulticastDomain for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
+func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
+ return out, req.Send()
+}
+
+// CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
+
+// CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
+// client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
+// req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
+func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
+ op := &request.Operation{
+ Name: opCreateTransitGatewayPeeringAttachment,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateTransitGatewayPeeringAttachmentInput{}
+ }
+
+ output = &CreateTransitGatewayPeeringAttachmentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
+//
+// Requests a transit gateway peering attachment between the specified transit
+// gateway (requester) and a peer transit gateway (accepter). The transit gateways
+// must be in different Regions. The peer transit gateway can be in your account
+// or a different AWS account.
+//
+// After you create the peering attachment, the owner of the accepter transit
+// gateway must accept the attachment 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
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateTransitGatewayPeeringAttachment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
+func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
+ return out, req.Send()
+}
+
+// CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
@@ -8250,6 +8712,154 @@ func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *De
return out, req.Send()
}
+const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
+
+// DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteLocalGatewayRoute operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteLocalGatewayRouteRequest method.
+// req, resp := client.DeleteLocalGatewayRouteRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
+func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
+ op := &request.Operation{
+ Name: opDeleteLocalGatewayRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteLocalGatewayRouteInput{}
+ }
+
+ output = &DeleteLocalGatewayRouteOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified route from the specified local gateway route table.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteLocalGatewayRoute for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
+func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
+ req, out := c.DeleteLocalGatewayRouteRequest(input)
+ return out, req.Send()
+}
+
+// DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteLocalGatewayRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
+ req, out := c.DeleteLocalGatewayRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
+
+// DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
+// req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
+func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
+ op := &request.Operation{
+ Name: opDeleteLocalGatewayRouteTableVpcAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
+ }
+
+ output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified association between a VPC and local gateway route table.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
+func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
+ req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
+ req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDeleteNatGateway = "DeleteNatGateway"
// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
@@ -9709,6 +10319,154 @@ func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTran
return out, req.Send()
}
+const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
+
+// DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
+// req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
+func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
+ op := &request.Operation{
+ Name: opDeleteTransitGatewayMulticastDomain,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteTransitGatewayMulticastDomainInput{}
+ }
+
+ output = &DeleteTransitGatewayMulticastDomainOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes the specified transit gateway multicast domain.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteTransitGatewayMulticastDomain for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
+func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
+ return out, req.Send()
+}
+
+// DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
+
+// DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
+// req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
+func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
+ op := &request.Operation{
+ Name: opDeleteTransitGatewayPeeringAttachment,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteTransitGatewayPeeringAttachmentInput{}
+ }
+
+ output = &DeleteTransitGatewayPeeringAttachmentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a transit gateway peering attachment.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
+func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
+ return out, req.Send()
+}
+
+// DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
@@ -10803,6 +11561,156 @@ func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImage
return out, req.Send()
}
+const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
+
+// DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
+// client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
+// req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
+func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
+ op := &request.Operation{
+ Name: opDeregisterTransitGatewayMulticastGroupMembers,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
+ }
+
+ output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
+//
+// Deregisters the specified members (network interfaces) from the transit gateway
+// multicast group.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
+func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
+ req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
+ return out, req.Send()
+}
+
+// DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
+ req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
+
+// DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
+// client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
+// req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
+func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
+ op := &request.Operation{
+ Name: opDeregisterTransitGatewayMulticastGroupSources,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
+ }
+
+ output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
+//
+// Deregisters the specified sources (network interfaces) from the transit gateway
+// multicast group.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
+func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
+ req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
+ return out, req.Send()
+}
+
+// DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
+ req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeAccountAttributes = "DescribeAccountAttributes"
// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
@@ -11105,12 +12013,13 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI
// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
//
-// Describes the Availability Zones that are available to you. The results include
-// zones only for the Region you're currently using. If there is an event impacting
-// an Availability Zone, you can use this request to view the state and any
-// provided message for that Availability Zone.
+// Describes the Availability Zones and Local Zones that are available to you.
+// If there is an event impacting an Availability Zone or Local Zone, you can
+// use this request to view the state and any provided messages for that Availability
+// Zone or Local Zone.
//
-// For more information, see Regions and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
+// For more information about Availability Zones and Local Zones, see Regions
+// and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -12284,6 +13193,81 @@ func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, i
return p.Err()
}
+const opDescribeCoipPools = "DescribeCoipPools"
+
+// DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeCoipPools operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeCoipPools for more information on using the DescribeCoipPools
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeCoipPoolsRequest method.
+// req, resp := client.DescribeCoipPoolsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
+func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
+ op := &request.Operation{
+ Name: opDescribeCoipPools,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeCoipPoolsInput{}
+ }
+
+ output = &DescribeCoipPoolsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified customer-owned address pools or all of your customer-owned
+// address pools.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeCoipPools for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
+func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
+ req, out := c.DescribeCoipPoolsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeCoipPools for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
+ req, out := c.DescribeCoipPoolsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeConversionTasks = "DescribeConversionTasks"
// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
@@ -15021,19 +16005,19 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc
// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
//
-// Describes the credit option for CPU usage of the specified T2 or T3 instances.
-// The credit options are standard and unlimited.
+// Describes the credit option for CPU usage of the specified burstable performance
+// instances. The credit options are standard and unlimited.
//
-// If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances
-// with the unlimited credit option, as well as instances that were previously
-// configured as T2 or T3 with the unlimited credit option. For example, if
-// you resize a T2 instance, while it is configured as unlimited, to an M4 instance,
-// Amazon EC2 returns the M4 instance.
+// If you do not specify an instance ID, Amazon EC2 returns burstable performance
+// instances with the unlimited credit option, as well as instances that were
+// previously configured as T2, T3, and T3a with the unlimited credit option.
+// For example, if you resize a T2 instance, while it is configured as unlimited,
+// to an M4 instance, Amazon EC2 returns the M4 instance.
//
// If you specify one or more instance IDs, Amazon EC2 returns the credit option
// (standard or unlimited) of those instances. If you specify an instance ID
-// that is not valid, such as an instance that is not a T2 or T3 instance, an
-// error is returned.
+// that is not valid, such as an instance that is not a burstable performance
+// instance, an error is returned.
//
// Recently terminated instances might appear in the returned results. This
// interval is usually less than one hour.
@@ -16051,6 +17035,454 @@ func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *De
return p.Err()
}
+const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
+
+// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
+// req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
+func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
+ }
+
+ output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the associations between virtual interface groups and local gateway
+// route tables.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
+func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
+
+// DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
+// req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
+func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGatewayRouteTableVpcAssociations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
+ }
+
+ output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified associations between VPCs and local gateway route
+// tables.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
+func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
+
+// DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
+// req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
+func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGatewayRouteTables,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewayRouteTablesInput{}
+ }
+
+ output = &DescribeLocalGatewayRouteTablesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more local gateway route tables. By default, all local gateway
+// route tables are described. Alternatively, you can filter the results.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGatewayRouteTables for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
+func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGatewayRouteTables for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
+ req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
+
+// DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
+// req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
+func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGatewayVirtualInterfaceGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
+ }
+
+ output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified local gateway virtual interface groups.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
+func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
+ req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
+ req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
+
+// DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
+// req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
+func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGatewayVirtualInterfaces,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewayVirtualInterfacesInput{}
+ }
+
+ output = &DescribeLocalGatewayVirtualInterfacesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the specified local gateway virtual interfaces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
+func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
+ req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
+ req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeLocalGateways = "DescribeLocalGateways"
+
+// DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeLocalGateways operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeLocalGateways for more information on using the DescribeLocalGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeLocalGatewaysRequest method.
+// req, resp := client.DescribeLocalGatewaysRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
+func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
+ op := &request.Operation{
+ Name: opDescribeLocalGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeLocalGatewaysInput{}
+ }
+
+ output = &DescribeLocalGatewaysOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more local gateways. By default, all local gateways are
+// described. Alternatively, you can filter the results.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeLocalGateways for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
+func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
+ req, out := c.DescribeLocalGatewaysRequest(input)
+ return out, req.Send()
+}
+
+// DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeLocalGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
+ req, out := c.DescribeLocalGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeMovingAddresses = "DescribeMovingAddresses"
// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
@@ -20287,6 +21719,154 @@ func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context,
return p.Err()
}
+const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
+
+// DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
+// req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
+func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
+ op := &request.Operation{
+ Name: opDescribeTransitGatewayMulticastDomains,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeTransitGatewayMulticastDomainsInput{}
+ }
+
+ output = &DescribeTransitGatewayMulticastDomainsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more transit gateway multicast domains.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeTransitGatewayMulticastDomains for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
+func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
+ req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
+ req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
+
+// DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
+// req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
+func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
+ op := &request.Operation{
+ Name: opDescribeTransitGatewayPeeringAttachments,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeTransitGatewayPeeringAttachmentsInput{}
+ }
+
+ output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
+//
+// Describes your transit gateway peering attachments.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
+func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
+ req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
+ req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
@@ -23918,6 +25498,80 @@ func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *Dis
return out, req.Send()
}
+const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
+
+// DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
+// req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
+func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
+ op := &request.Operation{
+ Name: opDisassociateTransitGatewayMulticastDomain,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateTransitGatewayMulticastDomainInput{}
+ }
+
+ output = &DisassociateTransitGatewayMulticastDomainOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates the specified subnets from the transit gateway multicast domain.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
+func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
+ req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
@@ -25010,6 +26664,80 @@ func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *Get
return out, req.Send()
}
+const opGetCoipPoolUsage = "GetCoipPoolUsage"
+
+// GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
+// client's request for the GetCoipPoolUsage operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetCoipPoolUsageRequest method.
+// req, resp := client.GetCoipPoolUsageRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
+func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
+ op := &request.Operation{
+ Name: opGetCoipPoolUsage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetCoipPoolUsageInput{}
+ }
+
+ output = &GetCoipPoolUsageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the allocations from the specified customer-owned address pool.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation GetCoipPoolUsage for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
+func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
+ req, out := c.GetCoipPoolUsageRequest(input)
+ return out, req.Send()
+}
+
+// GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetCoipPoolUsage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
+ req, out := c.GetCoipPoolUsageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetConsoleOutput = "GetConsoleOutput"
// GetConsoleOutputRequest generates a "aws/request.Request" representing the
@@ -25176,6 +26904,84 @@ func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsole
return out, req.Send()
}
+const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
+
+// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
+// client's request for the GetDefaultCreditSpecification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetDefaultCreditSpecificationRequest method.
+// req, resp := client.GetDefaultCreditSpecificationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
+func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
+ op := &request.Operation{
+ Name: opGetDefaultCreditSpecification,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetDefaultCreditSpecificationInput{}
+ }
+
+ output = &GetDefaultCreditSpecificationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the default credit option for CPU usage of a burstable performance
+// instance family.
+//
+// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation GetDefaultCreditSpecification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
+func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
+ req, out := c.GetDefaultCreditSpecificationRequest(input)
+ return out, req.Send()
+}
+
+// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetDefaultCreditSpecification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
+ req, out := c.GetDefaultCreditSpecificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
@@ -25788,6 +27594,81 @@ func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Co
return p.Err()
}
+const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
+
+// GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
+// client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
+// req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
+func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
+ op := &request.Operation{
+ Name: opGetTransitGatewayMulticastDomainAssociations,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetTransitGatewayMulticastDomainAssociationsInput{}
+ }
+
+ output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
+//
+// Gets information about the associations for the transit gateway multicast
+// domain.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
+func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
+ req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
+ return out, req.Send()
+}
+
+// GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
+ req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
@@ -26678,6 +28559,94 @@ func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyC
return out, req.Send()
}
+const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
+
+// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
+// client's request for the ModifyDefaultCreditSpecification operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
+// req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
+func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
+ op := &request.Operation{
+ Name: opModifyDefaultCreditSpecification,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyDefaultCreditSpecificationInput{}
+ }
+
+ output = &ModifyDefaultCreditSpecificationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
+//
+// Modifies the default credit option for CPU usage of burstable performance
+// instances. The default credit option is set at the account level per AWS
+// Region, and is specified per instance family. All new burstable performance
+// instances in the account launch using the default credit option.
+//
+// ModifyDefaultCreditSpecification is an asynchronous operation, which works
+// at an AWS Region level and modifies the credit option for each Availability
+// Zone. All zones in a Region are updated within five minutes. But if instances
+// are launched during this operation, they might not get the new credit option
+// until the zone is updated. To verify whether the update has occurred, you
+// can call GetDefaultCreditSpecification and check DefaultCreditSpecification
+// for updates.
+//
+// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation ModifyDefaultCreditSpecification for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
+func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
+ req, out := c.ModifyDefaultCreditSpecificationRequest(input)
+ return out, req.Send()
+}
+
+// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyDefaultCreditSpecification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
+ req, out := c.ModifyDefaultCreditSpecificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
@@ -27510,8 +29479,8 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred
// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
//
-// Modifies the credit option for CPU usage on a running or stopped T2 or T3
-// instance. The credit options are standard and unlimited.
+// Modifies the credit option for CPU usage on a running or stopped burstable
+// performance instance. The credit options are standard and unlimited.
//
// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
// in the Amazon Elastic Compute Cloud User Guide.
@@ -30313,6 +32282,244 @@ func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInpu
return out, req.Send()
}
+const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
+
+// RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
+// client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
+// req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
+func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
+ op := &request.Operation{
+ Name: opRegisterTransitGatewayMulticastGroupMembers,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RegisterTransitGatewayMulticastGroupMembersInput{}
+ }
+
+ output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
+//
+// Registers members (network interfaces) with the transit gateway multicast
+// group. A member is a network interface associated with a supported EC2 instance
+// that receives multicast traffic. For information about supported instances,
+// see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
+// in Amazon VPC Transit Gateways.
+//
+// After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
+// to verify that the members were added to the transit gateway multicast group.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
+func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
+ req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
+ return out, req.Send()
+}
+
+// RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
+ req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
+
+// RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
+// client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
+// req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
+func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
+ op := &request.Operation{
+ Name: opRegisterTransitGatewayMulticastGroupSources,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
+ }
+
+ output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
+//
+// Registers sources (network interfaces) with the specified transit gateway
+// multicast group.
+//
+// A multicast source is a network interface attached to a supported instance
+// that sends multicast traffic. For information about supported instances,
+// see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
+// in Amazon VPC Transit Gateways.
+//
+// After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
+// to verify that the source was added to the multicast group.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
+func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
+ req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
+ return out, req.Send()
+}
+
+// RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
+ req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
+
+// RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
+// client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
+// req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
+func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
+ op := &request.Operation{
+ Name: opRejectTransitGatewayPeeringAttachment,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RejectTransitGatewayPeeringAttachmentInput{}
+ }
+
+ output = &RejectTransitGatewayPeeringAttachmentOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
+//
+// Rejects a transit gateway peering attachment 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
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation RejectTransitGatewayPeeringAttachment for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
+func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
+ return out, req.Send()
+}
+
+// RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
+ req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
@@ -31001,9 +33208,9 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques
// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
//
// Replaces an existing route within a route table in a VPC. You must provide
-// only one of the following: internet gateway or virtual private gateway, NAT
-// instance, NAT gateway, VPC peering connection, network interface, or egress-only
-// internet gateway.
+// only one of the following: internet gateway, virtual private gateway, NAT
+// instance, NAT gateway, VPC peering connection, network interface, egress-only
+// internet gateway, or transit gateway.
//
// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
// in the Amazon Virtual Private Cloud User Guide.
@@ -31080,15 +33287,15 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci
// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
//
-// Changes the route table associated with a given subnet in a VPC. After the
-// operation completes, the subnet uses the routes in the new route table it's
-// associated with. For more information about route tables, see Route Tables
-// (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
+// Changes the route table associated with a given subnet, internet gateway,
+// or virtual private gateway in a VPC. After the operation completes, the subnet
+// or gateway uses the routes in the new route table. For more information about
+// route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
// in the Amazon Virtual Private Cloud User Guide.
//
-// You can also use ReplaceRouteTableAssociation to change which table is the
-// main route table in the VPC. You just specify the main route table's association
-// ID and the route table to be the new main route table.
+// You can also use this operation to change which table is the main route table
+// in the VPC. Specify the main route table's association ID and the route table
+// ID of the new main route table.
//
// 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
@@ -32457,6 +34664,155 @@ func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunSchedu
return out, req.Send()
}
+const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
+
+// SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
+// client's request for the SearchLocalGatewayRoutes operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the SearchLocalGatewayRoutesRequest method.
+// req, resp := client.SearchLocalGatewayRoutesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
+func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
+ op := &request.Operation{
+ Name: opSearchLocalGatewayRoutes,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &SearchLocalGatewayRoutesInput{}
+ }
+
+ output = &SearchLocalGatewayRoutesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
+//
+// Searches for routes in the specified local gateway route table.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation SearchLocalGatewayRoutes for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
+func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
+ req, out := c.SearchLocalGatewayRoutesRequest(input)
+ return out, req.Send()
+}
+
+// SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See SearchLocalGatewayRoutes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
+ req, out := c.SearchLocalGatewayRoutesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
+
+// SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
+// client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
+// req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
+func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
+ op := &request.Operation{
+ Name: opSearchTransitGatewayMulticastGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &SearchTransitGatewayMulticastGroupsInput{}
+ }
+
+ output = &SearchTransitGatewayMulticastGroupsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
+//
+// Searches one or more transit gateway multicast groups and returns the group
+// membership information.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation SearchTransitGatewayMulticastGroups for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
+func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
+ req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
+ return out, req.Send()
+}
+
+// SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
+ req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
@@ -33572,6 +35928,79 @@ func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *Ac
return s
}
+type AcceptTransitGatewayPeeringAttachmentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the transit gateway attachment.
+ //
+ // TransitGatewayAttachmentId is a required field
+ TransitGatewayAttachmentId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
+ if s.TransitGatewayAttachmentId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+type AcceptTransitGatewayPeeringAttachmentOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The transit gateway peering attachment.
+ TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
+}
+
+// String returns the string representation
+func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
+func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
+ s.TransitGatewayPeeringAttachment = v
+ return s
+}
+
type AcceptTransitGatewayVpcAttachmentInput struct {
_ struct{} `type:"structure"`
@@ -33912,6 +36341,12 @@ type Address struct {
// VPC.
AssociationId *string `locationName:"associationId" type:"string"`
+ // The customer-owned IP address.
+ CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
+
+ // The ID of the customer-owned address pool.
+ CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
+
// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
// (standard) or instances in a VPC (vpc).
Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
@@ -33919,6 +36354,9 @@ type Address struct {
// The ID of the instance that the address is associated with (if any).
InstanceId *string `locationName:"instanceId" type:"string"`
+ // The name of the location from which the IP address is advertised.
+ NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
+
// The ID of the network interface.
NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
@@ -33960,6 +36398,18 @@ func (s *Address) SetAssociationId(v string) *Address {
return s
}
+// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
+func (s *Address) SetCustomerOwnedIp(v string) *Address {
+ s.CustomerOwnedIp = &v
+ return s
+}
+
+// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
+func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
+ s.CustomerOwnedIpv4Pool = &v
+ return s
+}
+
// SetDomain sets the Domain field's value.
func (s *Address) SetDomain(v string) *Address {
s.Domain = &v
@@ -33972,6 +36422,12 @@ func (s *Address) SetInstanceId(v string) *Address {
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *Address) SetNetworkBorderGroup(v string) *Address {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
func (s *Address) SetNetworkInterfaceId(v string) *Address {
s.NetworkInterfaceId = &v
@@ -34089,6 +36545,11 @@ type AllocateAddressInput struct {
// pool.
Address *string `type:"string"`
+ // The ID of a customer-owned address pool. Use this parameter to let Amazon
+ // EC2 select an address from the address pool. Alternatively, specify a specific
+ // address from the address pool.
+ CustomerOwnedIpv4Pool *string `type:"string"`
+
// Set to vpc to allocate the address for use with instances in a VPC.
//
// Default: The address is for use with instances in EC2-Classic.
@@ -34100,6 +36561,17 @@ type AllocateAddressInput struct {
// it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"`
+ // The location from which the IP address is advertised. Use this parameter
+ // to limit the address to this location.
+ //
+ // Use DescribeVpcs (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
+ // to view the network border groups.
+ //
+ // You cannot use a network border group with EC2 Classic. If you attempt this
+ // operation on EC2 classic, you will receive an InvalidParameterCombination
+ // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
+ NetworkBorderGroup *string `type:"string"`
+
// The ID of an address pool that you own. Use this parameter to let Amazon
// EC2 select an address from the address pool. To specify a specific address
// from the address pool, use the Address parameter instead.
@@ -34122,6 +36594,12 @@ func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
return s
}
+// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
+func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
+ s.CustomerOwnedIpv4Pool = &v
+ return s
+}
+
// SetDomain sets the Domain field's value.
func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
s.Domain = &v
@@ -34134,6 +36612,12 @@ func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
s.PublicIpv4Pool = &v
@@ -34147,10 +36631,19 @@ type AllocateAddressOutput struct {
// IP address for use with instances in a VPC.
AllocationId *string `locationName:"allocationId" type:"string"`
+ // The customer-owned IP address.
+ CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
+
+ // The ID of the customer-owned address pool.
+ CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
+
// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
// (standard) or instances in a VPC (vpc).
Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
+ // The location from which the IP address is advertised.
+ NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
+
// The Elastic IP address.
PublicIp *string `locationName:"publicIp" type:"string"`
@@ -34174,12 +36667,30 @@ func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput
return s
}
+// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
+func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
+ s.CustomerOwnedIp = &v
+ return s
+}
+
+// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
+func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
+ s.CustomerOwnedIpv4Pool = &v
+ return s
+}
+
// SetDomain sets the Domain field's value.
func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
s.Domain = &v
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
// SetPublicIp sets the PublicIp field's value.
func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
s.PublicIp = &v
@@ -35090,15 +37601,16 @@ type AssociateRouteTableInput struct {
// it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"`
+ // The ID of the internet gateway or virtual private gateway.
+ GatewayId *string `type:"string"`
+
// The ID of the route table.
//
// RouteTableId is a required field
RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
// The ID of the subnet.
- //
- // SubnetId is a required field
- SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
+ SubnetId *string `locationName:"subnetId" type:"string"`
}
// String returns the string representation
@@ -35117,9 +37629,6 @@ func (s *AssociateRouteTableInput) Validate() error {
if s.RouteTableId == nil {
invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
}
- if s.SubnetId == nil {
- invalidParams.Add(request.NewErrParamRequired("SubnetId"))
- }
if invalidParams.Len() > 0 {
return invalidParams
@@ -35133,6 +37642,12 @@ func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
return s
}
+// SetGatewayId sets the GatewayId field's value.
+func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
+ s.GatewayId = &v
+ return s
+}
+
// SetRouteTableId sets the RouteTableId field's value.
func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
s.RouteTableId = &v
@@ -35151,6 +37666,9 @@ type AssociateRouteTableOutput struct {
// The route table association ID. This ID is required for disassociating the
// route table.
AssociationId *string `locationName:"associationId" type:"string"`
+
+ // The state of the association.
+ AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
}
// String returns the string representation
@@ -35169,6 +37687,12 @@ func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTa
return s
}
+// SetAssociationState sets the AssociationState field's value.
+func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
+ s.AssociationState = v
+ return s
+}
+
type AssociateSubnetCidrBlockInput struct {
_ struct{} `type:"structure"`
@@ -35253,6 +37777,83 @@ func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetC
return s
}
+type AssociateTransitGatewayMulticastDomainInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IDs of the subnets to associate with the transit gateway multicast domain.
+ SubnetIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway attachment to associate with the transit gateway
+ // multicast domain.
+ TransitGatewayAttachmentId *string `type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateTransitGatewayMulticastDomainInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSubnetIds sets the SubnetIds field's value.
+func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
+ s.SubnetIds = v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type AssociateTransitGatewayMulticastDomainOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the transit gateway multicast domain associations.
+ Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssociations sets the Associations field's value.
+func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
+ s.Associations = v
+ return s
+}
+
type AssociateTransitGatewayRouteTableInput struct {
_ struct{} `type:"structure"`
@@ -35351,6 +37952,14 @@ type AssociateVpcCidrBlockInput struct {
// An IPv4 CIDR block to associate with the VPC.
CidrBlock *string `type:"string"`
+ // The name of the location from which we advertise the IPV6 CIDR block. Use
+ // this parameter to limit the CiDR block to this location.
+ //
+ // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
+ //
+ // You can have one IPv6 CIDR block association per network border group.
+ Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
+
// The ID of the VPC.
//
// VpcId is a required field
@@ -35392,6 +38001,12 @@ func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlo
return s
}
+// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
+func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
+ s.Ipv6CidrBlockNetworkBorderGroup = &v
+ return s
+}
+
// SetVpcId sets the VpcId field's value.
func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
s.VpcId = &v
@@ -36491,23 +39106,37 @@ func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
return s.String()
}
-// Describes an Availability Zone.
+// Describes an Availability Zone or Local Zone.
type AvailabilityZone struct {
_ struct{} `type:"structure"`
- // Any messages about the Availability Zone.
+ // For Availability Zones, this parameter has the same value as the Region name.
+ //
+ // For Local Zones, the name of the associated group, for example us-west-2-lax-1.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // Any messages about the Availability Zone or Local Zone.
Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
+ // The name of the location from which the address is advertised.
+ NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
+
+ // For Availability Zones, this parameter always has the value of opt-in-not-required.
+ //
+ // For Local Zones, this parameter is the opt in status. The possible values
+ // are opted-in, and not-opted-in.
+ OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
+
// The name of the Region.
RegionName *string `locationName:"regionName" type:"string"`
- // The state of the Availability Zone.
+ // The state of the Availability Zone or Local Zone.
State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
- // The ID of the Availability Zone.
+ // The ID of the Availability Zone or Local Zone.
ZoneId *string `locationName:"zoneId" type:"string"`
- // The name of the Availability Zone.
+ // The name of the Availability Zone or Local Zone.
ZoneName *string `locationName:"zoneName" type:"string"`
}
@@ -36521,12 +39150,30 @@ func (s AvailabilityZone) GoString() string {
return s.String()
}
+// SetGroupName sets the GroupName field's value.
+func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
+ s.GroupName = &v
+ return s
+}
+
// SetMessages sets the Messages field's value.
func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
s.Messages = v
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
+// SetOptInStatus sets the OptInStatus field's value.
+func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
+ s.OptInStatus = &v
+ return s
+}
+
// SetRegionName sets the RegionName field's value.
func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
s.RegionName = &v
@@ -36551,11 +39198,11 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
return s
}
-// Describes a message about an Availability Zone.
+// Describes a message about an Availability Zone or Local Zone.
type AvailabilityZoneMessage struct {
_ struct{} `type:"structure"`
- // The message about the Availability Zone.
+ // The message about the Availability Zone or Local Zone.
Message *string `locationName:"message" type:"string"`
}
@@ -39062,6 +41709,108 @@ func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
return s
}
+// Describes address usage for a customer-owned address pool.
+type CoipAddressUsage struct {
+ _ struct{} `type:"structure"`
+
+ // The allocation ID of the address.
+ AllocationId *string `locationName:"allocationId" type:"string"`
+
+ // The AWS account ID.
+ AwsAccountId *string `locationName:"awsAccountId" type:"string"`
+
+ // The AWS service.
+ AwsService *string `locationName:"awsService" type:"string"`
+
+ // The customer-owned IP address.
+ CoIp *string `locationName:"coIp" type:"string"`
+}
+
+// String returns the string representation
+func (s CoipAddressUsage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CoipAddressUsage) GoString() string {
+ return s.String()
+}
+
+// SetAllocationId sets the AllocationId field's value.
+func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
+ s.AllocationId = &v
+ return s
+}
+
+// SetAwsAccountId sets the AwsAccountId field's value.
+func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
+ s.AwsAccountId = &v
+ return s
+}
+
+// SetAwsService sets the AwsService field's value.
+func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
+ s.AwsService = &v
+ return s
+}
+
+// SetCoIp sets the CoIp field's value.
+func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
+ s.CoIp = &v
+ return s
+}
+
+// Describes a customer-owned address pool.
+type CoipPool struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+
+ // The address ranges of the address pool.
+ PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
+
+ // The ID of the address pool.
+ PoolId *string `locationName:"poolId" type:"string"`
+
+ // The tags.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s CoipPool) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CoipPool) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetPoolCidrs sets the PoolCidrs field's value.
+func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
+ s.PoolCidrs = v
+ return s
+}
+
+// SetPoolId sets the PoolId field's value.
+func (s *CoipPool) SetPoolId(v string) *CoipPool {
+ s.PoolId = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
+ s.Tags = v
+ return s
+}
+
type ConfirmProductInstanceInput struct {
_ struct{} `type:"structure"`
@@ -41320,7 +44069,9 @@ type CreateFlowLogsInput struct {
// for LogDestinationType.
//
// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
- // Resource Name (ARN) of the CloudWatch Logs log group.
+ // Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
+ // to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
+ // Alternatively, use LogGroupName instead.
//
// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
// can also specify a subfolder in the bucket. To specify a subfolder in the
@@ -42255,6 +45006,195 @@ func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTe
return s
}
+type CreateLocalGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR range used for destination matches. Routing decisions are based
+ // on the most specific match.
+ //
+ // DestinationCidrBlock is a required field
+ DestinationCidrBlock *string `type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the local gateway route table.
+ //
+ // LocalGatewayRouteTableId is a required field
+ LocalGatewayRouteTableId *string `type:"string" required:"true"`
+
+ // The ID of the virtual interface group.
+ //
+ // LocalGatewayVirtualInterfaceGroupId is a required field
+ LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateLocalGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLocalGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateLocalGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
+ if s.DestinationCidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
+ }
+ if s.LocalGatewayRouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
+ }
+ if s.LocalGatewayVirtualInterfaceGroupId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
+func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
+ s.LocalGatewayVirtualInterfaceGroupId = &v
+ return s
+}
+
+type CreateLocalGatewayRouteOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the route.
+ Route *LocalGatewayRoute `locationName:"route" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateLocalGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLocalGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetRoute sets the Route field's value.
+func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
+ s.Route = v
+ return s
+}
+
+type CreateLocalGatewayRouteTableVpcAssociationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the local gateway route table.
+ //
+ // LocalGatewayRouteTableId is a required field
+ LocalGatewayRouteTableId *string `type:"string" required:"true"`
+
+ // The ID of the VPC.
+ //
+ // VpcId is a required field
+ VpcId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
+ if s.LocalGatewayRouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
+ }
+ if s.VpcId == nil {
+ invalidParams.Add(request.NewErrParamRequired("VpcId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
+ s.VpcId = &v
+ return s
+}
+
+type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the association.
+ LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
+func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
+ s.LocalGatewayRouteTableVpcAssociation = v
+ return s
+}
+
type CreateNatGatewayInput struct {
_ struct{} `type:"structure"`
@@ -43078,6 +46018,9 @@ type CreateRouteInput struct {
// an instance ID unless exactly one network interface is attached.
InstanceId *string `locationName:"instanceId" type:"string"`
+ // The ID of the local gateway.
+ LocalGatewayId *string `type:"string"`
+
// [IPv4 traffic only] The ID of a NAT gateway.
NatGatewayId *string `locationName:"natGatewayId" type:"string"`
@@ -43155,6 +46098,12 @@ func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
return s
}
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
+ s.LocalGatewayId = &v
+ return s
+}
+
// SetNatGatewayId sets the NatGatewayId field's value.
func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
s.NatGatewayId = &v
@@ -43644,13 +46593,18 @@ func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *Sp
type CreateSubnetInput struct {
_ struct{} `type:"structure"`
- // The Availability Zone for the subnet.
+ // The Availability Zone or Local Zone for the subnet.
//
// Default: AWS selects one for you. If you create more than one subnet in your
- // VPC, we may not necessarily select a different zone for each subnet.
+ // VPC, we do not necessarily select a different zone for each subnet.
+ //
+ // To create a subnet in a Local Zone, set this value to the Local Zone ID,
+ // for example us-west-2-lax-1a. For information about the Regions that support
+ // Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
+ // in the Amazon Elastic Compute Cloud User Guide.
AvailabilityZone *string `type:"string"`
- // The AZ ID of the subnet.
+ // The AZ ID or the Local Zone ID of the subnet.
AvailabilityZoneId *string `type:"string"`
// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
@@ -43668,6 +46622,9 @@ type CreateSubnetInput struct {
// must use a /64 prefix length.
Ipv6CidrBlock *string `type:"string"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `type:"string"`
+
// The ID of the VPC.
//
// VpcId is a required field
@@ -43730,6 +46687,12 @@ func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
+ s.OutpostArn = &v
+ return s
+}
+
// SetVpcId sets the VpcId field's value.
func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
s.VpcId = &v
@@ -44477,6 +47440,88 @@ func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification)
return s
}
+type CreateTransitGatewayMulticastDomainInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The tags for the transit gateway multicast domain.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway.
+ //
+ // TransitGatewayId is a required field
+ TransitGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateTransitGatewayMulticastDomainInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
+ if s.TransitGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetTransitGatewayId sets the TransitGatewayId field's value.
+func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
+ s.TransitGatewayId = &v
+ return s
+}
+
+type CreateTransitGatewayMulticastDomainOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the transit gateway multicast domain.
+ TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateTransitGatewayMulticastDomainOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
+func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
+ s.TransitGatewayMulticastDomain = v
+ return s
+}
+
type CreateTransitGatewayOutput struct {
_ struct{} `type:"structure"`
@@ -44500,6 +47545,130 @@ func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *Creat
return s
}
+type CreateTransitGatewayPeeringAttachmentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The AWS account ID of the owner of the peer transit gateway.
+ //
+ // PeerAccountId is a required field
+ PeerAccountId *string `type:"string" required:"true"`
+
+ // The Region where the peer transit gateway is located.
+ //
+ // PeerRegion is a required field
+ PeerRegion *string `type:"string" required:"true"`
+
+ // The ID of the peer transit gateway with which to create the peering attachment.
+ //
+ // PeerTransitGatewayId is a required field
+ PeerTransitGatewayId *string `type:"string" required:"true"`
+
+ // The tags to apply to the transit gateway peering attachment.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway.
+ //
+ // TransitGatewayId is a required field
+ TransitGatewayId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
+ if s.PeerAccountId == nil {
+ invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
+ }
+ if s.PeerRegion == nil {
+ invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
+ }
+ if s.PeerTransitGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
+ }
+ if s.TransitGatewayId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetPeerAccountId sets the PeerAccountId field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
+ s.PeerAccountId = &v
+ return s
+}
+
+// SetPeerRegion sets the PeerRegion field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
+ s.PeerRegion = &v
+ return s
+}
+
+// SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
+ s.PeerTransitGatewayId = &v
+ return s
+}
+
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
+ s.TagSpecifications = v
+ return s
+}
+
+// SetTransitGatewayId sets the TransitGatewayId field's value.
+func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
+ s.TransitGatewayId = &v
+ return s
+}
+
+type CreateTransitGatewayPeeringAttachmentOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The transit gateway peering attachment.
+ TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
+func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
+ s.TransitGatewayPeeringAttachment = v
+ return s
+}
+
type CreateTransitGatewayRouteInput struct {
_ struct{} `type:"structure"`
@@ -44898,6 +48067,9 @@ type CreateVolumeInput struct {
// fails.
KmsKeyId *string `type:"string"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `type:"string"`
+
// The size of the volume, in GiBs.
//
// Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
@@ -44979,6 +48151,12 @@ func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
+ s.OutpostArn = &v
+ return s
+}
+
// SetSize sets the Size field's value.
func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
s.Size = &v
@@ -45512,6 +48690,12 @@ type CreateVpcInput struct {
//
// Default: default
InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The name of the location from which we advertise the IPV6 CIDR block. Use
+ // this parameter to limit the address to this location.
+ //
+ // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
+ Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
}
// String returns the string representation
@@ -45561,6 +48745,12 @@ func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
return s
}
+// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
+func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
+ s.Ipv6CidrBlockNetworkBorderGroup = &v
+ return s
+}
+
type CreateVpcOutput struct {
_ struct{} `type:"structure"`
@@ -47243,6 +50433,166 @@ func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int
return s
}
+type DeleteLocalGatewayRouteInput struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR range for the route. This must match the CIDR for the route exactly.
+ //
+ // DestinationCidrBlock is a required field
+ DestinationCidrBlock *string `type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the local gateway route table.
+ //
+ // LocalGatewayRouteTableId is a required field
+ LocalGatewayRouteTableId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteLocalGatewayRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLocalGatewayRouteInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteLocalGatewayRouteInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
+ if s.DestinationCidrBlock == nil {
+ invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
+ }
+ if s.LocalGatewayRouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+type DeleteLocalGatewayRouteOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the route.
+ Route *LocalGatewayRoute `locationName:"route" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteLocalGatewayRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLocalGatewayRouteOutput) GoString() string {
+ return s.String()
+}
+
+// SetRoute sets the Route field's value.
+func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
+ s.Route = v
+ return s
+}
+
+type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the association.
+ //
+ // LocalGatewayRouteTableVpcAssociationId is a required field
+ LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
+ if s.LocalGatewayRouteTableVpcAssociationId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
+func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
+ s.LocalGatewayRouteTableVpcAssociationId = &v
+ return s
+}
+
+type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the association.
+ LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
+func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
+ s.LocalGatewayRouteTableVpcAssociation = v
+ return s
+}
+
type DeleteNatGatewayInput struct {
_ struct{} `type:"structure"`
@@ -48594,6 +51944,79 @@ func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransit
return s
}
+type DeleteTransitGatewayMulticastDomainInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the transit gateway multicast domain.
+ //
+ // TransitGatewayMulticastDomainId is a required field
+ TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteTransitGatewayMulticastDomainInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
+ if s.TransitGatewayMulticastDomainId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type DeleteTransitGatewayMulticastDomainOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the deleted transit gateway multicast domain.
+ TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
+func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
+ s.TransitGatewayMulticastDomain = v
+ return s
+}
+
type DeleteTransitGatewayOutput struct {
_ struct{} `type:"structure"`
@@ -48617,6 +52040,79 @@ func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *Delet
return s
}
+type DeleteTransitGatewayPeeringAttachmentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the transit gateway peering attachment.
+ //
+ // TransitGatewayAttachmentId is a required field
+ TransitGatewayAttachmentId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
+ if s.TransitGatewayAttachmentId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+type DeleteTransitGatewayPeeringAttachmentOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The transit gateway peering attachment.
+ TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
+func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
+ s.TransitGatewayPeeringAttachment = v
+ return s
+}
+
type DeleteTransitGatewayRouteInput struct {
_ struct{} `type:"structure"`
@@ -49608,6 +53104,158 @@ func (s DeregisterImageOutput) GoString() string {
return s.String()
}
+type DeregisterTransitGatewayMulticastGroupMembersInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `type:"string"`
+
+ // The IDs of the group members' network interfaces.
+ NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the deregistered members.
+ DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
+ return s.String()
+}
+
+// SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
+func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
+ s.DeregisteredMulticastGroupMembers = v
+ return s
+}
+
+type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `type:"string"`
+
+ // The IDs of the group sources' network interfaces.
+ NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the deregistered group sources.
+ DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
+}
+
+// String returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
+ return s.String()
+}
+
+// SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
+func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
+ s.DeregisteredMulticastGroupSources = v
+ return s
+}
+
type DescribeAccountAttributesInput struct {
_ struct{} `type:"structure"`
@@ -49837,6 +53485,13 @@ func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *Descr
type DescribeAvailabilityZonesInput struct {
_ struct{} `type:"structure"`
+ // Include all Availability Zones and Local Zones regardless of your opt in
+ // status.
+ //
+ // If you do not use this parameter, the results include only the zones for
+ // the Regions where you have chosen the option to opt in.
+ AllAvailabilityZones *bool `type:"boolean"`
+
// Checks whether you have the required permissions for the action, without
// actually making the request, and provides an error response. If you have
// the required permissions, the error response is DryRunOperation. Otherwise,
@@ -49845,23 +53500,31 @@ type DescribeAvailabilityZonesInput struct {
// The filters.
//
- // * message - Information about the Availability Zone.
+ // * group-name - For Availability Zones, use the Region name. For Local
+ // Zones, use the name of the group associated with the Local Zone (for example,
+ // us-west-2-lax-1).
+ //
+ // * message - The Availability Zone or Local Zone message.
+ //
+ // * 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 (for
- // example, us-east-1).
+ // * region-name - The name of the Region for the Availability Zone or Local
+ // Zone (for example, us-east-1).
//
- // * state - The state of the Availability Zone (available | information
- // | impaired | unavailable).
+ // * state - The state of the Availability Zone or Local Zone (available
+ // | information | impaired | unavailable).
//
- // * zone-id - The ID of the Availability Zone (for example, use1-az1).
+ // * zone-id - The ID of the Availability Zone (for example, use1-az1) or
+ // the Local Zone (for example, use usw2-lax1-az1).
//
- // * 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).
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
- // The IDs of the Availability Zones.
+ // The IDs of the Availability Zones and Local Zones.
ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
- // The names of the Availability Zones.
+ // The names of the Availability Zones and Local Zones.
ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
}
@@ -49875,6 +53538,12 @@ func (s DescribeAvailabilityZonesInput) GoString() string {
return s.String()
}
+// SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
+func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
+ s.AllAvailabilityZones = &v
+ return s
+}
+
// SetDryRun sets the DryRun field's value.
func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
s.DryRun = &v
@@ -49902,7 +53571,7 @@ func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvai
type DescribeAvailabilityZonesOutput struct {
_ struct{} `type:"structure"`
- // Information about the Availability Zones.
+ // Information about the Availability Zones and Local Zones.
AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
}
@@ -50927,6 +54596,119 @@ func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *Describe
return s
}
+type DescribeCoipPoolsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The filters. The following are the possible values:
+ //
+ // * coip-pool.pool-id
+ //
+ // * coip-pool.local-gateway-route-table-id
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // The IDs of the address pools.
+ PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeCoipPoolsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCoipPoolsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeCoipPoolsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPoolIds sets the PoolIds field's value.
+func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
+ s.PoolIds = v
+ return s
+}
+
+type DescribeCoipPoolsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the address pools.
+ CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeCoipPoolsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCoipPoolsOutput) GoString() string {
+ return s.String()
+}
+
+// SetCoipPools sets the CoipPools field's value.
+func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
+ s.CoipPools = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
+ s.NextToken = &v
+ return s
+}
+
type DescribeConversionTasksInput struct {
_ struct{} `type:"structure"`
@@ -54641,14 +58423,14 @@ type DescribeInstancesInput struct {
//
// * launch-time - The time when the instance was launched.
//
- // * metadata-http-tokens - The metadata request authorization state (optional
- // | required)
+ // * metadata-options.http-tokens - The metadata request authorization state
+ // (optional | required)
//
- // * metadata-http-put-response-hop-limit - The http metadata request put
- // response hop limit (integer, possible values 1 to 64)
+ // * metadata-options.http-put-response-hop-limit - The http metadata request
+ // put response hop limit (integer, possible values 1 to 64)
//
- // * metadata-http-endpoint - Enable or disable metadata access on http endpoint
- // (enabled | disabled)
+ // * metadata-options.http-endpoint - Enable or disable metadata access on
+ // http endpoint (enabled | disabled)
//
// * monitoring-state - Indicates whether detailed monitoring is enabled
// (disabled | enabled).
@@ -55400,6 +59182,660 @@ func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTe
return s
}
+type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the associations.
+ LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
+ s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the associations.
+ LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
+ s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the associations.
+ LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
+ s.LocalGatewayRouteTableVpcAssociationIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the associations.
+ LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
+ s.LocalGatewayRouteTableVpcAssociations = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayRouteTablesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the local gateway route tables.
+ LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTablesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
+func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
+ s.LocalGatewayRouteTableIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayRouteTablesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the local gateway route tables.
+ LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayRouteTablesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
+func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
+ s.LocalGatewayRouteTables = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the virtual interface groups.
+ LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
+ s.LocalGatewayVirtualInterfaceGroupIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The virtual interface groups.
+ LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
+ s.LocalGatewayVirtualInterfaceGroups = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayVirtualInterfacesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the virtual interfaces.
+ LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
+ s.LocalGatewayVirtualInterfaceIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewayVirtualInterfacesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the virtual interfaces.
+ LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
+ s.LocalGatewayVirtualInterfaces = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewaysInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The IDs of the local gateways.
+ LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewaysInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeLocalGatewaysInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayIds sets the LocalGatewayIds field's value.
+func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
+ s.LocalGatewayIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
+ s.NextToken = &v
+ return s
+}
+
+type DescribeLocalGatewaysOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the local gateways.
+ LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeLocalGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeLocalGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+// SetLocalGateways sets the LocalGateways field's value.
+func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
+ s.LocalGateways = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
+ s.NextToken = &v
+ return s
+}
+
type DescribeMovingAddressesInput struct {
_ struct{} `type:"structure"`
@@ -59906,6 +64342,232 @@ func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v
return s
}
+type DescribeTransitGatewayMulticastDomainsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters. The possible values are:
+ //
+ // * state - The state of the transit gateway multicast domain. Valid values
+ // are pending | available | deleting | deleted.
+ //
+ // * transit-gateway-id - The ID of the transit gateway.
+ //
+ // * transit-gateway-multicast-domain-id - The ID of the transit gateway
+ // multicast domain.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
+func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
+ s.TransitGatewayMulticastDomainIds = v
+ return s
+}
+
+type DescribeTransitGatewayMulticastDomainsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the transit gateway multicast domains.
+ TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
+func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
+ s.TransitGatewayMulticastDomains = v
+ return s
+}
+
+type DescribeTransitGatewayPeeringAttachmentsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // One or more IDs of the transit gateway peering attachments.
+ TransitGatewayAttachmentIds []*string `type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
+ s.TransitGatewayAttachmentIds = v
+ return s
+}
+
+type DescribeTransitGatewayPeeringAttachmentsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The transit gateway peering attachments.
+ TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
+func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
+ s.TransitGatewayPeeringAttachments = v
+ return s
+}
+
type DescribeTransitGatewayRouteTablesInput struct {
_ struct{} `type:"structure"`
@@ -63796,6 +68458,82 @@ func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateS
return s
}
+type DisassociateTransitGatewayMulticastDomainInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IDs of the subnets;
+ SubnetIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the attachment.
+ TransitGatewayAttachmentId *string `type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetSubnetIds sets the SubnetIds field's value.
+func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
+ s.SubnetIds = v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type DisassociateTransitGatewayMulticastDomainOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the association.
+ Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssociations sets the Associations field's value.
+func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
+ s.Associations = v
+ return s
+}
+
type DisassociateTransitGatewayRouteTableInput struct {
_ struct{} `type:"structure"`
@@ -67856,6 +72594,136 @@ func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetC
return s
}
+type GetCoipPoolUsageInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The filters. The following are the possible values:
+ //
+ // * coip-address-usage.allocation-id
+ //
+ // * coip-address-usage.aws-account-id
+ //
+ // * coip-address-usage.aws-service
+ //
+ // * coip-address-usage.co-ip
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the address pool.
+ //
+ // PoolId is a required field
+ PoolId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetCoipPoolUsageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetCoipPoolUsageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetCoipPoolUsageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+ if s.PoolId == nil {
+ invalidParams.Add(request.NewErrParamRequired("PoolId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetPoolId sets the PoolId field's value.
+func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
+ s.PoolId = &v
+ return s
+}
+
+type GetCoipPoolUsageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the address usage.
+ CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
+
+ // The ID of the customer-owned address pool.
+ CoipPoolId *string `locationName:"coipPoolId" type:"string"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+}
+
+// String returns the string representation
+func (s GetCoipPoolUsageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetCoipPoolUsageOutput) GoString() string {
+ return s.String()
+}
+
+// SetCoipAddressUsages sets the CoipAddressUsages field's value.
+func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
+ s.CoipAddressUsages = v
+ return s
+}
+
+// SetCoipPoolId sets the CoipPoolId field's value.
+func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
+ s.CoipPoolId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
type GetConsoleOutputInput struct {
_ struct{} `type:"structure"`
@@ -68051,6 +72919,79 @@ func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreensh
return s
}
+type GetDefaultCreditSpecificationInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The instance family.
+ //
+ // InstanceFamily is a required field
+ InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
+}
+
+// String returns the string representation
+func (s GetDefaultCreditSpecificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetDefaultCreditSpecificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetDefaultCreditSpecificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
+ if s.InstanceFamily == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
+ s.InstanceFamily = &v
+ return s
+}
+
+type GetDefaultCreditSpecificationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The default credit option for CPU usage of the instance family.
+ InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
+}
+
+// String returns the string representation
+func (s GetDefaultCreditSpecificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetDefaultCreditSpecificationOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
+func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
+ s.InstanceFamilyCreditSpecification = v
+ return s
+}
+
type GetEbsDefaultKmsKeyIdInput struct {
_ struct{} `type:"structure"`
@@ -68702,6 +73643,126 @@ func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachm
return s
}
+type GetTransitGatewayMulticastDomainAssociationsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters. The possible values are:
+ //
+ // * resource-id - The ID of the resource.
+ //
+ // * resource-type - The type of resource. The valid value is: vpc.
+ //
+ // * state - The state of the subnet association. Valid values are associated
+ // | associating | disassociated | disassociating.
+ //
+ // * subnet-id - The ID of the subnet.
+ //
+ // * transit-gateway-attachment-id - The id of the transit gateway attachment.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type GetTransitGatewayMulticastDomainAssociationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the multicast domain associations.
+ MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
+ s.MulticastDomainAssociations = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
+ s.NextToken = &v
+ return s
+}
+
type GetTransitGatewayRouteTableAssociationsInput struct {
_ struct{} `type:"structure"`
@@ -69280,6 +74341,10 @@ type Host struct {
// The IDs and instance type that are currently running on the Dedicated Host.
Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
+ // Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
+ // is true, the host is in a host resource group; otherwise, it is not.
+ MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
+
// The ID of the AWS account that owns the Dedicated Host.
OwnerId *string `locationName:"ownerId" type:"string"`
@@ -69375,6 +74440,12 @@ func (s *Host) SetInstances(v []*HostInstance) *Host {
return s
}
+// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
+func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
+ s.MemberOfServiceLinkedResourceGroup = &v
+ return s
+}
+
// SetOwnerId sets the OwnerId field's value.
func (s *Host) SetOwnerId(v string) *Host {
s.OwnerId = &v
@@ -71731,6 +76802,72 @@ func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *Impo
return s
}
+// Describes the Inference accelerators for the instance type.
+type InferenceAcceleratorInfo struct {
+ _ struct{} `type:"structure"`
+
+ // Describes the Inference accelerators for the instance type.
+ Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
+}
+
+// String returns the string representation
+func (s InferenceAcceleratorInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InferenceAcceleratorInfo) GoString() string {
+ return s.String()
+}
+
+// SetAccelerators sets the Accelerators field's value.
+func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
+ s.Accelerators = v
+ return s
+}
+
+// Describes the Inference accelerators for the instance type.
+type InferenceDeviceInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The number of Inference accelerators for the instance type.
+ Count *int64 `locationName:"count" type:"integer"`
+
+ // The manufacturer of the Inference accelerator.
+ Manufacturer *string `locationName:"manufacturer" type:"string"`
+
+ // The name of the Inference accelerator.
+ Name *string `locationName:"name" type:"string"`
+}
+
+// String returns the string representation
+func (s InferenceDeviceInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InferenceDeviceInfo) GoString() string {
+ return s.String()
+}
+
+// SetCount sets the Count field's value.
+func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
+ s.Count = &v
+ return s
+}
+
+// SetManufacturer sets the Manufacturer field's value.
+func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
+ s.Manufacturer = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
+ s.Name = &v
+ return s
+}
+
// Describes an instance.
type Instance struct {
_ struct{} `type:"structure"`
@@ -71816,6 +76953,9 @@ type Instance struct {
// [EC2-VPC] The network interfaces for the instance.
NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// The location where the instance launched, if applicable.
Placement *Placement `locationName:"placement" type:"structure"`
@@ -72056,6 +77196,12 @@ func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *Instance) SetOutpostArn(v string) *Instance {
+ s.OutpostArn = &v
+ return s
+}
+
// SetPlacement sets the Placement field's value.
func (s *Instance) SetPlacement(v *Placement) *Instance {
s.Placement = v
@@ -72346,7 +77492,7 @@ func (s *InstanceCount) SetState(v string) *InstanceCount {
return s
}
-// Describes the credit option for CPU usage of a T2 or T3 instance.
+// Describes the credit option for CPU usage of a burstable performance instance.
type InstanceCreditSpecification struct {
_ struct{} `type:"structure"`
@@ -72380,7 +77526,7 @@ func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpe
return s
}
-// Describes the credit option for CPU usage of a T2 or T3 instance.
+// Describes the credit option for CPU usage of a burstable performance instance.
type InstanceCreditSpecificationRequest struct {
_ struct{} `type:"structure"`
@@ -72447,6 +77593,41 @@ func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDe
return s
}
+// Describes the default credit option for CPU usage of a burstable performance
+// instance family.
+type InstanceFamilyCreditSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The default credit option for CPU usage of the instance family. Valid values
+ // are standard and unlimited.
+ CpuCredits *string `locationName:"cpuCredits" type:"string"`
+
+ // The instance family.
+ InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
+}
+
+// String returns the string representation
+func (s InstanceFamilyCreditSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceFamilyCreditSpecification) GoString() string {
+ return s.String()
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
+ s.CpuCredits = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
+ s.InstanceFamily = &v
+ return s
+}
+
// Describes an IPv6 address.
type InstanceIpv6Address struct {
_ struct{} `type:"structure"`
@@ -73340,6 +78521,9 @@ type InstanceStatus struct {
// such as impaired reachability.
InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// Reports impaired functionality that stems from issues related to the systems
// that support an instance, such as hardware failures and network connectivity
// problems.
@@ -73386,6 +78570,12 @@ func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceSt
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
+ s.OutpostArn = &v
+ return s
+}
+
// SetSystemStatus sets the SystemStatus field's value.
func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
s.SystemStatus = v
@@ -73611,6 +78801,9 @@ type InstanceTypeInfo struct {
// Indicates the hypervisor used for the instance type.
Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
+ // Describes the Inference accelerator settings for the instance type.
+ InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
+
// Describes the disks for the instance type.
InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
@@ -73719,6 +78912,12 @@ func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
return s
}
+// SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
+func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
+ s.InferenceAcceleratorInfo = v
+ return s
+}
+
// SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
s.InstanceStorageInfo = v
@@ -75651,6 +80850,9 @@ type LaunchTemplatePlacement struct {
// The ID of the Dedicated Host for the instance.
HostId *string `locationName:"hostId" type:"string"`
+ // The ARN of the host resource group in which to launch the instances.
+ HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
+
// Reserved for future use.
SpreadDomain *string `locationName:"spreadDomain" type:"string"`
@@ -75693,6 +80895,12 @@ func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
return s
}
+// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
+func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
+ s.HostResourceGroupArn = &v
+ return s
+}
+
// SetSpreadDomain sets the SpreadDomain field's value.
func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
s.SpreadDomain = &v
@@ -75721,6 +80929,11 @@ type LaunchTemplatePlacementRequest struct {
// The ID of the Dedicated Host for the instance.
HostId *string `type:"string"`
+ // The ARN of the host resource group in which to launch the instances. If you
+ // specify a host resource group ARN, omit the Tenancy parameter or set it to
+ // host.
+ HostResourceGroupArn *string `type:"string"`
+
// Reserved for future use.
SpreadDomain *string `type:"string"`
@@ -75763,6 +80976,12 @@ func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlac
return s
}
+// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
+func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
+ s.HostResourceGroupArn = &v
+ return s
+}
+
// SetSpreadDomain sets the SpreadDomain field's value.
func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
s.SpreadDomain = &v
@@ -76357,6 +81576,410 @@ func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
return s
}
+// Describes a local gateway.
+type LocalGateway struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
+ // The ID of the AWS account ID that owns the local gateway.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The state of the local gateway.
+ State *string `locationName:"state" type:"string"`
+}
+
+// String returns the string representation
+func (s LocalGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGateway) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
+ s.OutpostArn = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
+ s.OwnerId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *LocalGateway) SetState(v string) *LocalGateway {
+ s.State = &v
+ return s
+}
+
+// Describes a route for a local gateway route table.
+type LocalGatewayRoute struct {
+ _ struct{} `type:"structure"`
+
+ // The CIDR block used for destination matches.
+ DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+
+ // The ID of the virtual interface group.
+ LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
+
+ // The state of the route.
+ State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
+
+ // The route type.
+ Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
+}
+
+// String returns the string representation
+func (s LocalGatewayRoute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayRoute) GoString() string {
+ return s.String()
+}
+
+// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
+func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
+ s.DestinationCidrBlock = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
+func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
+ s.LocalGatewayVirtualInterfaceGroupId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
+ s.State = &v
+ return s
+}
+
+// SetType sets the Type field's value.
+func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
+ s.Type = &v
+ return s
+}
+
+// Describes a local gateway route table.
+type LocalGatewayRouteTable struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
+ // The state of the local gateway route table.
+ State *string `locationName:"state" type:"string"`
+}
+
+// String returns the string representation
+func (s LocalGatewayRouteTable) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayRouteTable) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
+ s.OutpostArn = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
+ s.State = &v
+ return s
+}
+
+// Describes an association between a local gateway route table and a virtual
+// interface group.
+type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+
+ // The ID of the association.
+ LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
+
+ // The ID of the virtual interface group.
+ LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
+
+ // The state of the association.
+ State *string `locationName:"state" type:"string"`
+}
+
+// String returns the string representation
+func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
+func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
+ s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
+func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
+ s.LocalGatewayVirtualInterfaceGroupId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
+ s.State = &v
+ return s
+}
+
+// Describes an association between a local gateway route table and a VPC.
+type LocalGatewayRouteTableVpcAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The ID of the local gateway route table.
+ LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
+
+ // The ID of the association.
+ LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
+
+ // The state of the association.
+ State *string `locationName:"state" type:"string"`
+
+ // The ID of the VPC.
+ VpcId *string `locationName:"vpcId" type:"string"`
+}
+
+// String returns the string representation
+func (s LocalGatewayRouteTableVpcAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
+func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
+ s.LocalGatewayRouteTableVpcAssociationId = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
+ s.State = &v
+ return s
+}
+
+// SetVpcId sets the VpcId field's value.
+func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
+ s.VpcId = &v
+ return s
+}
+
+// Describes a local gateway virtual interface.
+type LocalGatewayVirtualInterface struct {
+ _ struct{} `type:"structure"`
+
+ // The local address.
+ LocalAddress *string `locationName:"localAddress" type:"string"`
+
+ // The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
+ // gateway.
+ LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The ID of the virtual interface.
+ LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
+
+ // The peer address.
+ PeerAddress *string `locationName:"peerAddress" type:"string"`
+
+ // The peer BGP ASN.
+ PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
+
+ // The ID of the VLAN.
+ Vlan *int64 `locationName:"vlan" type:"integer"`
+}
+
+// String returns the string representation
+func (s LocalGatewayVirtualInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayVirtualInterface) GoString() string {
+ return s.String()
+}
+
+// SetLocalAddress sets the LocalAddress field's value.
+func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
+ s.LocalAddress = &v
+ return s
+}
+
+// SetLocalBgpAsn sets the LocalBgpAsn field's value.
+func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
+ s.LocalBgpAsn = &v
+ return s
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
+func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
+ s.LocalGatewayVirtualInterfaceId = &v
+ return s
+}
+
+// SetPeerAddress sets the PeerAddress field's value.
+func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
+ s.PeerAddress = &v
+ return s
+}
+
+// SetPeerBgpAsn sets the PeerBgpAsn field's value.
+func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
+ s.PeerBgpAsn = &v
+ return s
+}
+
+// SetVlan sets the Vlan field's value.
+func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
+ s.Vlan = &v
+ return s
+}
+
+// Describes a local gateway virtual interface group.
+type LocalGatewayVirtualInterfaceGroup struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
+ // The ID of the virtual interface group.
+ LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
+
+ // The IDs of the virtual interfaces.
+ LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s LocalGatewayVirtualInterfaceGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
+ return s.String()
+}
+
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
+func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
+ s.LocalGatewayVirtualInterfaceGroupId = &v
+ return s
+}
+
+// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
+func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
+ s.LocalGatewayVirtualInterfaceIds = v
+ return s
+}
+
// Describes the memory for the instance type.
type MemoryInfo struct {
_ struct{} `type:"structure"`
@@ -76633,6 +82256,95 @@ func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpoi
return s
}
+type ModifyDefaultCreditSpecificationInput struct {
+ _ struct{} `type:"structure"`
+
+ // The credit option for CPU usage of the instance family.
+ //
+ // Valid Values: standard | unlimited
+ //
+ // CpuCredits is a required field
+ CpuCredits *string `type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The instance family.
+ //
+ // InstanceFamily is a required field
+ InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
+}
+
+// String returns the string representation
+func (s ModifyDefaultCreditSpecificationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyDefaultCreditSpecificationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
+ if s.CpuCredits == nil {
+ invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
+ }
+ if s.InstanceFamily == nil {
+ invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCpuCredits sets the CpuCredits field's value.
+func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
+ s.CpuCredits = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInstanceFamily sets the InstanceFamily field's value.
+func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
+ s.InstanceFamily = &v
+ return s
+}
+
+type ModifyDefaultCreditSpecificationOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The default credit option for CPU usage of the instance family.
+ InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyDefaultCreditSpecificationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
+ return s.String()
+}
+
+// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
+func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
+ s.InstanceFamilyCreditSpecification = v
+ return s
+}
+
type ModifyEbsDefaultKmsKeyIdInput struct {
_ struct{} `type:"structure"`
@@ -78062,6 +83774,9 @@ type ModifyInstancePlacementInput struct {
// The ID of the Dedicated Host with which to associate the instance.
HostId *string `locationName:"hostId" type:"string"`
+ // The ARN of the host resource group in which to place the instance.
+ HostResourceGroupArn *string `type:"string"`
+
// The ID of the instance that you are modifying.
//
// InstanceId is a required field
@@ -78115,6 +83830,12 @@ func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacem
return s
}
+// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
+func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
+ s.HostResourceGroupArn = &v
+ return s
+}
+
// SetInstanceId sets the InstanceId field's value.
func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
s.InstanceId = &v
@@ -81417,6 +87138,9 @@ type NetworkInterface struct {
// The ID of the network interface.
NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// The AWS account ID of the owner of the network interface.
OwnerId *string `locationName:"ownerId" type:"string"`
@@ -81516,6 +87240,12 @@ func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
+ s.OutpostArn = &v
+ return s
+}
+
// SetOwnerId sets the OwnerId field's value.
func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
s.OwnerId = &v
@@ -82152,6 +87882,39 @@ func (s *PciId) SetVendorId(v string) *PciId {
return s
}
+// The status of the transit gateway peering attachment.
+type PeeringAttachmentStatus struct {
+ _ struct{} `type:"structure"`
+
+ // The status code.
+ Code *string `locationName:"code" type:"string"`
+
+ // The status message, if applicable.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s PeeringAttachmentStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PeeringAttachmentStatus) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
+ s.Message = &v
+ return s
+}
+
// Describes the VPC peering connection options.
type PeeringConnectionOptions struct {
_ struct{} `type:"structure"`
@@ -82242,6 +88005,48 @@ func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClas
return s
}
+// Information about the transit gateway in the peering attachment.
+type PeeringTgwInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID of the owner of the transit gateway.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // The Region of the transit gateway.
+ Region *string `locationName:"region" type:"string"`
+
+ // The ID of the transit gateway.
+ TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
+}
+
+// String returns the string representation
+func (s PeeringTgwInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PeeringTgwInfo) GoString() string {
+ return s.String()
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
+ s.OwnerId = &v
+ return s
+}
+
+// SetRegion sets the Region field's value.
+func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
+ s.Region = &v
+ return s
+}
+
+// SetTransitGatewayId sets the TransitGatewayId field's value.
+func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
+ s.TransitGatewayId = &v
+ return s
+}
+
// The Diffie-Hellmann group number for phase 1 IKE negotiations.
type Phase1DHGroupNumbersListValue struct {
_ struct{} `type:"structure"`
@@ -82553,6 +88358,11 @@ type Placement struct {
// is not supported for the ImportInstance command.
HostId *string `locationName:"hostId" type:"string"`
+ // The ARN of the host resource group in which to launch the instances. If you
+ // specify a host resource group ARN, omit the Tenancy parameter or set it to
+ // host.
+ HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
+
// The number of the partition the instance is in. Valid only if the placement
// group strategy is set to partition.
PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
@@ -82600,6 +88410,12 @@ func (s *Placement) SetHostId(v string) *Placement {
return s
}
+// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
+func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
+ s.HostResourceGroupArn = &v
+ return s
+}
+
// SetPartitionNumber sets the PartitionNumber field's value.
func (s *Placement) SetPartitionNumber(v int64) *Placement {
s.PartitionNumber = &v
@@ -84243,6 +90059,233 @@ func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
return s
}
+type RegisterTransitGatewayMulticastGroupMembersInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `type:"string"`
+
+ // The group members' network interface IDs to register with the transit gateway
+ // multicast group.
+ NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type RegisterTransitGatewayMulticastGroupMembersOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the registered transit gateway multicast group members.
+ RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
+}
+
+// String returns the string representation
+func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
+ return s.String()
+}
+
+// SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
+func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
+ s.RegisteredMulticastGroupMembers = v
+ return s
+}
+
+type RegisterTransitGatewayMulticastGroupSourcesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `type:"string"`
+
+ // The group sources' network interface IDs to register with the transit gateway
+ // multicast group.
+ NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
+func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
+ s.NetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the transit gateway multicast group sources.
+ RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
+}
+
+// String returns the string representation
+func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
+ return s.String()
+}
+
+// SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
+func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
+ s.RegisteredMulticastGroupSources = v
+ return s
+}
+
+type RejectTransitGatewayPeeringAttachmentInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the transit gateway peering attachment.
+ //
+ // TransitGatewayAttachmentId is a required field
+ TransitGatewayAttachmentId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
+ if s.TransitGatewayAttachmentId == nil {
+ invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+type RejectTransitGatewayPeeringAttachmentOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The transit gateway peering attachment.
+ TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
+}
+
+// String returns the string representation
+func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
+ return s.String()
+}
+
+// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
+func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
+ s.TransitGatewayPeeringAttachment = v
+ return s
+}
+
type RejectTransitGatewayVpcAttachmentInput struct {
_ struct{} `type:"structure"`
@@ -84488,6 +90531,16 @@ type ReleaseAddressInput struct {
// it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"`
+ // The location that the IP address is released from.
+ //
+ // If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
+ // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
+ //
+ // You cannot use a network border group with EC2 Classic. If you attempt this
+ // operation on EC2 classic, you will receive an InvalidParameterCombination
+ // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
+ NetworkBorderGroup *string `type:"string"`
+
// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
PublicIp *string `type:"string"`
}
@@ -84514,6 +90567,12 @@ func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
// SetPublicIp sets the PublicIp field's value.
func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
s.PublicIp = &v
@@ -84960,6 +91019,12 @@ type ReplaceRouteInput struct {
// The ID of a NAT instance in your VPC.
InstanceId *string `locationName:"instanceId" type:"string"`
+ // The ID of the local gateway.
+ LocalGatewayId *string `type:"string"`
+
+ // Specifies whether to reset the local route to its default target (local).
+ LocalTarget *bool `type:"boolean"`
+
// [IPv4 traffic only] The ID of a NAT gateway.
NatGatewayId *string `locationName:"natGatewayId" type:"string"`
@@ -85037,6 +91102,18 @@ func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
return s
}
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
+ s.LocalGatewayId = &v
+ return s
+}
+
+// SetLocalTarget sets the LocalTarget field's value.
+func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
+ s.LocalTarget = &v
+ return s
+}
+
// SetNatGatewayId sets the NatGatewayId field's value.
func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
s.NatGatewayId = &v
@@ -85148,6 +91225,9 @@ func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRo
type ReplaceRouteTableAssociationOutput struct {
_ struct{} `type:"structure"`
+ // The state of the association.
+ AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
+
// The ID of the new association.
NewAssociationId *string `locationName:"newAssociationId" type:"string"`
}
@@ -85162,6 +91242,12 @@ func (s ReplaceRouteTableAssociationOutput) GoString() string {
return s.String()
}
+// SetAssociationState sets the AssociationState field's value.
+func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
+ s.AssociationState = v
+ return s
+}
+
// SetNewAssociationId sets the NewAssociationId field's value.
func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
s.NewAssociationId = &v
@@ -88270,6 +94356,9 @@ type Route struct {
// The AWS account ID of the owner of the instance.
InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
+ // The ID of the local gateway.
+ LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
+
// The ID of a NAT gateway.
NatGatewayId *string `locationName:"natGatewayId" type:"string"`
@@ -88350,6 +94439,12 @@ func (s *Route) SetInstanceOwnerId(v string) *Route {
return s
}
+// SetLocalGatewayId sets the LocalGatewayId field's value.
+func (s *Route) SetLocalGatewayId(v string) *Route {
+ s.LocalGatewayId = &v
+ return s
+}
+
// SetNatGatewayId sets the NatGatewayId field's value.
func (s *Route) SetNatGatewayId(v string) *Route {
s.NatGatewayId = &v
@@ -88390,7 +94485,7 @@ func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
type RouteTable struct {
_ struct{} `type:"structure"`
- // The associations between the route table and one or more subnets.
+ // The associations between the route table and one or more subnets or a gateway.
Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
// The ID of the AWS account that owns the route table.
@@ -88464,14 +94559,20 @@ func (s *RouteTable) SetVpcId(v string) *RouteTable {
return s
}
-// Describes an association between a route table and a subnet.
+// Describes an association between a route table and a subnet or gateway.
type RouteTableAssociation struct {
_ struct{} `type:"structure"`
+ // The state of the association.
+ AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
+
+ // The ID of the internet gateway or virtual private gateway.
+ GatewayId *string `locationName:"gatewayId" type:"string"`
+
// Indicates whether this is the main route table.
Main *bool `locationName:"main" type:"boolean"`
- // The ID of the association between a route table and a subnet.
+ // The ID of the association.
RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
// The ID of the route table.
@@ -88491,6 +94592,18 @@ func (s RouteTableAssociation) GoString() string {
return s.String()
}
+// SetAssociationState sets the AssociationState field's value.
+func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
+ s.AssociationState = v
+ return s
+}
+
+// SetGatewayId sets the GatewayId field's value.
+func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
+ s.GatewayId = &v
+ return s
+}
+
// SetMain sets the Main field's value.
func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
s.Main = &v
@@ -88515,6 +94628,40 @@ func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
return s
}
+// Describes the state of an association between a route table and a subnet
+// or gateway.
+type RouteTableAssociationState struct {
+ _ struct{} `type:"structure"`
+
+ // The state of the association.
+ State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
+
+ // The status message, if applicable.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s RouteTableAssociationState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteTableAssociationState) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
+ s.StatusMessage = &v
+ return s
+}
+
type RunInstancesInput struct {
_ struct{} `type:"structure"`
@@ -88541,13 +94688,13 @@ type RunInstancesInput struct {
// in the Amazon Elastic Compute Cloud User Guide.
CpuOptions *CpuOptionsRequest `type:"structure"`
- // The credit option for CPU usage of the T2 or T3 instance. Valid values are
- // standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification
- // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
+ // The credit option for CPU usage of the burstable performance instance. Valid
+ // values are standard and unlimited. To change this attribute after launch,
+ // use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
- // Default: standard (T2 instances) or unlimited (T3 instances)
+ // Default: standard (T2 instances) or unlimited (T3/T3a instances)
CreditSpecification *CreditSpecificationRequest `type:"structure"`
// If you set this parameter to true, you can't terminate the instance using
@@ -90256,6 +96403,255 @@ func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string)
return s
}
+type SearchLocalGatewayRoutesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // Filters is a required field
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
+
+ // The ID of the local gateway route table.
+ //
+ // LocalGatewayRouteTableId is a required field
+ LocalGatewayRouteTableId *string `type:"string" required:"true"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s SearchLocalGatewayRoutesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SearchLocalGatewayRoutesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SearchLocalGatewayRoutesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
+ if s.Filters == nil {
+ invalidParams.Add(request.NewErrParamRequired("Filters"))
+ }
+ if s.LocalGatewayRouteTableId == nil {
+ invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
+ s.Filters = v
+ return s
+}
+
+// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
+func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
+ s.LocalGatewayRouteTableId = &v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
+ s.NextToken = &v
+ return s
+}
+
+type SearchLocalGatewayRoutesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the routes.
+ Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s SearchLocalGatewayRoutesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SearchLocalGatewayRoutesOutput) GoString() string {
+ return s.String()
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
+ s.NextToken = &v
+ return s
+}
+
+// SetRoutes sets the Routes field's value.
+func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
+ s.Routes = v
+ return s
+}
+
+type SearchTransitGatewayMulticastGroupsInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters. The possible values are:
+ //
+ // * group-ip-address - The IP address of the transit gateway multicast group.
+ //
+ // * is-group-member - The resource is a group member. Valid values are true
+ // | false.
+ //
+ // * is-group-source - The resource is a group source. Valid values are true
+ // | false.
+ //
+ // * member-type - The member type. Valid values are igmp | static.
+ //
+ // * resource-id - The ID of the resource.
+ //
+ // * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
+ // | tgw-peering.
+ //
+ // * source-type - The source type. Valid values are igmp | static.
+ //
+ // * state - The state of the subnet association. Valid values are associated
+ // | associated | disassociated | disassociating.
+ //
+ // * subnet-id - The ID of the subnet.
+ //
+ // * transit-gateway-attachment-id - The id of the transit gateway attachment.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return with a single call. To retrieve the
+ // remaining results, make another call with the returned nextToken value.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token for the next page of results.
+ NextToken *string `type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s SearchTransitGatewayMulticastGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+type SearchTransitGatewayMulticastGroupsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the transit gateway multicast group.
+ MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
+ return s.String()
+}
+
+// SetMulticastGroups sets the MulticastGroups field's value.
+func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
+ s.MulticastGroups = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
+ s.NextToken = &v
+ return s
+}
+
type SearchTransitGatewayRoutesInput struct {
_ struct{} `type:"structure"`
@@ -93343,6 +99739,9 @@ type Subnet struct {
// address.
MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// The ID of the AWS account that owns the subnet.
OwnerId *string `locationName:"ownerId" type:"string"`
@@ -93420,6 +99819,12 @@ func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *Subnet) SetOutpostArn(v string) *Subnet {
+ s.OutpostArn = &v
+ return s
+}
+
// SetOwnerId sets the OwnerId field's value.
func (s *Subnet) SetOwnerId(v string) *Subnet {
s.OwnerId = &v
@@ -93456,6 +99861,39 @@ func (s *Subnet) SetVpcId(v string) *Subnet {
return s
}
+// Describes the subnet association with the transit gateway multicast domain.
+type SubnetAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The state of the subnet association.
+ State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+}
+
+// String returns the string representation
+func (s SubnetAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SubnetAssociation) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
+ s.State = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
+ s.SubnetId = &v
+ return s
+}
+
// Describes the state of a CIDR block.
type SubnetCidrBlockState struct {
_ struct{} `type:"structure"`
@@ -93531,8 +99969,8 @@ func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBloc
return s
}
-// Describes the T2 or T3 instance whose credit option for CPU usage was successfully
-// modified.
+// Describes the burstable performance instance whose credit option for CPU
+// usage was successfully modified.
type SuccessfulInstanceCreditSpecificationItem struct {
_ struct{} `type:"structure"`
@@ -95098,6 +101536,451 @@ func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v st
return s
}
+// Describes the deregistered transit gateway multicast group members.
+type TransitGatewayMulticastDeregisteredGroupMembers struct {
+ _ struct{} `type:"structure"`
+
+ // The network interface IDs of the deregistered members.
+ DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
+ return s.String()
+}
+
+// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
+ s.DeregisteredNetworkInterfaceIds = v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+// Describes the deregistered transit gateway multicast group sources.
+type TransitGatewayMulticastDeregisteredGroupSources struct {
+ _ struct{} `type:"structure"`
+
+ // The network interface IDs of the non-registered members.
+ DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
+ return s.String()
+}
+
+// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
+ s.DeregisteredNetworkInterfaceIds = v
+ return s
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+// Describes the transit gateway multicast domain.
+type TransitGatewayMulticastDomain struct {
+ _ struct{} `type:"structure"`
+
+ // The time the transit gateway multicast domain was created.
+ CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
+
+ // The state of the transit gateway multicast domain.
+ State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
+
+ // The tags for the transit gateway multicast domain.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway.
+ TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastDomain) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastDomain) GoString() string {
+ return s.String()
+}
+
+// SetCreationTime sets the CreationTime field's value.
+func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
+ s.CreationTime = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
+ s.State = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
+ s.Tags = v
+ return s
+}
+
+// SetTransitGatewayId sets the TransitGatewayId field's value.
+func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
+ s.TransitGatewayId = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+// Describes the resources associated with the transit gateway multicast domain.
+type TransitGatewayMulticastDomainAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the resource.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+
+ // The type of resource, for example a VPC attachment.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
+
+ // The subnet associated with the transit gateway multicast domain.
+ Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
+
+ // The ID of the transit gateway attachment.
+ TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastDomainAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastDomainAssociation) GoString() string {
+ return s.String()
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
+ s.ResourceType = &v
+ return s
+}
+
+// SetSubnet sets the Subnet field's value.
+func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
+ s.Subnet = v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+// Describes the multicast domain associations.
+type TransitGatewayMulticastDomainAssociations struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the resource.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+
+ // The type of resource, for example a VPC attachment.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
+
+ // The subnets associated with the multicast domain.
+ Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway attachment.
+ TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastDomainAssociations) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastDomainAssociations) GoString() string {
+ return s.String()
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
+ s.ResourceType = &v
+ return s
+}
+
+// SetSubnets sets the Subnets field's value.
+func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
+ s.Subnets = v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+// Describes the transit gateway multicast group resources.
+type TransitGatewayMulticastGroup struct {
+ _ struct{} `type:"structure"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
+
+ // Indicates that the resource is a transit gateway multicast group member.
+ GroupMember *bool `locationName:"groupMember" type:"boolean"`
+
+ // Indicates that the resource is a transit gateway multicast group member.
+ GroupSource *bool `locationName:"groupSource" type:"boolean"`
+
+ // The member type (for example, static).
+ MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
+
+ // The ID of the transit gateway attachment.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the resource.
+ ResourceId *string `locationName:"resourceId" type:"string"`
+
+ // The type of resource, for example a VPC attachment.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
+
+ // The source type.
+ SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
+
+ // The ID of the subnet.
+ SubnetId *string `locationName:"subnetId" type:"string"`
+
+ // The ID of the transit gateway attachment.
+ TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastGroup) GoString() string {
+ return s.String()
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetGroupMember sets the GroupMember field's value.
+func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
+ s.GroupMember = &v
+ return s
+}
+
+// SetGroupSource sets the GroupSource field's value.
+func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
+ s.GroupSource = &v
+ return s
+}
+
+// SetMemberType sets the MemberType field's value.
+func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
+ s.MemberType = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetResourceId sets the ResourceId field's value.
+func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
+ s.ResourceId = &v
+ return s
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
+ s.ResourceType = &v
+ return s
+}
+
+// SetSourceType sets the SourceType field's value.
+func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
+ s.SourceType = &v
+ return s
+}
+
+// SetSubnetId sets the SubnetId field's value.
+func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
+ s.SubnetId = &v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
+// Describes the registered transit gateway multicast group members.
+type TransitGatewayMulticastRegisteredGroupMembers struct {
+ _ struct{} `type:"structure"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
+
+ // The ID of the registered network interfaces.
+ RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
+ return s.String()
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
+func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
+ s.RegisteredNetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
+// Describes the members registered with the transit gateway multicast group.
+type TransitGatewayMulticastRegisteredGroupSources struct {
+ _ struct{} `type:"structure"`
+
+ // The IP address assigned to the transit gateway multicast group.
+ GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
+
+ // The IDs of the network interfaces members registered with the transit gateway
+ // multicast group.
+ RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway multicast domain.
+ TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
+ return s.String()
+}
+
+// SetGroupIpAddress sets the GroupIpAddress field's value.
+func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
+ s.GroupIpAddress = &v
+ return s
+}
+
+// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
+func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
+ s.RegisteredNetworkInterfaceIds = v
+ return s
+}
+
+// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
+func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
+ s.TransitGatewayMulticastDomainId = &v
+ return s
+}
+
// Describes the options for a transit gateway.
type TransitGatewayOptions struct {
_ struct{} `type:"structure"`
@@ -95124,6 +102007,9 @@ type TransitGatewayOptions struct {
// Indicates whether DNS support is enabled.
DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
+ // Indicates whether multicast is enabled on the transit gateway
+ MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
+
// The ID of the default propagation route table.
PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
@@ -95177,6 +102063,12 @@ func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
return s
}
+// SetMulticastSupport sets the MulticastSupport field's value.
+func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
+ s.MulticastSupport = &v
+ return s
+}
+
// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
s.PropagationDefaultRouteTableId = &v
@@ -95189,6 +102081,84 @@ func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptio
return s
}
+// Describes the transit gateway peering attachment.
+type TransitGatewayPeeringAttachment struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the accepter transit gateway.
+ AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
+
+ // The time the transit gateway peering attachment was created.
+ CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
+
+ // Information about the requester transit gateway.
+ RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
+
+ // The state of the transit gateway peering attachment.
+ State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
+
+ // The status of the transit gateway peering attachment.
+ Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
+
+ // The tags for the transit gateway peering attachment.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the transit gateway peering attachment.
+ TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
+}
+
+// String returns the string representation
+func (s TransitGatewayPeeringAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TransitGatewayPeeringAttachment) GoString() string {
+ return s.String()
+}
+
+// SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
+func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
+ s.AccepterTgwInfo = v
+ return s
+}
+
+// SetCreationTime sets the CreationTime field's value.
+func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
+ s.CreationTime = &v
+ return s
+}
+
+// SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
+func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
+ s.RequesterTgwInfo = v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
+ s.State = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
+ s.Status = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
+ s.Tags = v
+ return s
+}
+
+// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
+func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
+ s.TransitGatewayAttachmentId = &v
+ return s
+}
+
// Describes route propagation.
type TransitGatewayPropagation struct {
_ struct{} `type:"structure"`
@@ -95273,6 +102243,9 @@ type TransitGatewayRequestOptions struct {
// Enable or disable DNS support.
DnsSupport *string `type:"string" enum:"DnsSupportValue"`
+ // Indicates whether multicast is enabled on the transit gateway
+ MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
+
// Enable or disable Equal Cost Multipath Protocol support.
VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
}
@@ -95317,6 +102290,12 @@ func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRe
return s
}
+// SetMulticastSupport sets the MulticastSupport field's value.
+func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
+ s.MulticastSupport = &v
+ return s
+}
+
// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
s.VpnEcmpSupport = &v
@@ -96116,13 +103095,13 @@ func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitorin
return s
}
-// Describes the T2 or T3 instance whose credit option for CPU usage was not
-// modified.
+// Describes the burstable performance instance whose credit option for CPU
+// usage was not modified.
type UnsuccessfulInstanceCreditSpecificationItem struct {
_ struct{} `type:"structure"`
- // The applicable error for the T2 or T3 instance whose credit option for CPU
- // usage was not modified.
+ // The applicable error for the burstable performance instance whose credit
+ // option for CPU usage was not modified.
Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
// The ID of the instance.
@@ -96151,8 +103130,8 @@ func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *U
return s
}
-// Information about the error for the T2 or T3 instance whose credit option
-// for CPU usage was not modified.
+// Information about the error for the burstable performance instance whose
+// credit option for CPU usage was not modified.
type UnsuccessfulInstanceCreditSpecificationItemError struct {
_ struct{} `type:"structure"`
@@ -96799,6 +103778,9 @@ type Volume struct {
// key for the volume.
KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// The size of the volume, in GiBs.
Size *int64 `locationName:"size" type:"integer"`
@@ -96872,6 +103854,12 @@ func (s *Volume) SetKmsKeyId(v string) *Volume {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *Volume) SetOutpostArn(v string) *Volume {
+ s.OutpostArn = &v
+ return s
+}
+
// SetSize sets the Size field's value.
func (s *Volume) SetSize(v int64) *Volume {
s.Size = &v
@@ -97332,6 +104320,9 @@ type VolumeStatusItem struct {
// A list of events associated with the volume.
Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
+ // The Amazon Resource Name (ARN) of the Outpost.
+ OutpostArn *string `locationName:"outpostArn" type:"string"`
+
// The volume ID.
VolumeId *string `locationName:"volumeId" type:"string"`
@@ -97367,6 +104358,12 @@ func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
return s
}
+// SetOutpostArn sets the OutpostArn field's value.
+func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
+ s.OutpostArn = &v
+ return s
+}
+
// SetVolumeId sets the VolumeId field's value.
func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
s.VolumeId = &v
@@ -97886,6 +104883,9 @@ type VpcIpv6CidrBlockAssociation struct {
// Information about the state of the CIDR block.
Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
+
+ // The name of the location from which we advertise the IPV6 CIDR block.
+ NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
}
// String returns the string representation
@@ -97916,6 +104916,12 @@ func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState
return s
}
+// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
+func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
+ s.NetworkBorderGroup = &v
+ return s
+}
+
// Describes a VPC peering connection.
type VpcPeeringConnection struct {
_ struct{} `type:"structure"`
@@ -98275,6 +105281,9 @@ func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
type VpnConnectionOptions struct {
_ struct{} `type:"structure"`
+ // Indicates whether acceleration is enabled for the VPN connection.
+ EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
+
// Indicates whether the VPN connection uses static routes only. Static routes
// must be used for devices that don't support BGP.
StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
@@ -98293,6 +105302,12 @@ func (s VpnConnectionOptions) GoString() string {
return s.String()
}
+// SetEnableAcceleration sets the EnableAcceleration field's value.
+func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
+ s.EnableAcceleration = &v
+ return s
+}
+
// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
s.StaticRoutesOnly = &v
@@ -98309,6 +105324,11 @@ func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectio
type VpnConnectionOptionsSpecification struct {
_ struct{} `type:"structure"`
+ // Indicate whether to enable acceleration for the VPN connection.
+ //
+ // Default: false
+ EnableAcceleration *bool `type:"boolean"`
+
// Indicate whether the VPN connection uses static routes only. If you are creating
// a VPN connection for a device that does not support BGP, you must specify
// true. Use CreateVpnConnectionRoute to create a static route.
@@ -98330,6 +105350,12 @@ func (s VpnConnectionOptionsSpecification) GoString() string {
return s.String()
}
+// SetEnableAcceleration sets the EnableAcceleration field's value.
+func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
+ s.EnableAcceleration = &v
+ return s
+}
+
// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
s.StaticRoutesOnly = &v
@@ -98902,6 +105928,17 @@ const (
)
const (
+ // AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
+ AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
+
+ // AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
+ AvailabilityZoneOptInStatusOptedIn = "opted-in"
+
+ // AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
+ AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
+)
+
+const (
// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
AvailabilityZoneStateAvailable = "available"
@@ -100575,6 +107612,18 @@ const (
// InstanceTypeR5n24xlarge is a InstanceType enum value
InstanceTypeR5n24xlarge = "r5n.24xlarge"
+
+ // InstanceTypeInf1Xlarge is a InstanceType enum value
+ InstanceTypeInf1Xlarge = "inf1.xlarge"
+
+ // InstanceTypeInf12xlarge is a InstanceType enum value
+ InstanceTypeInf12xlarge = "inf1.2xlarge"
+
+ // InstanceTypeInf16xlarge is a InstanceType enum value
+ InstanceTypeInf16xlarge = "inf1.6xlarge"
+
+ // InstanceTypeInf124xlarge is a InstanceType enum value
+ InstanceTypeInf124xlarge = "inf1.24xlarge"
)
const (
@@ -100650,6 +107699,31 @@ const (
)
const (
+ // LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
+ LocalGatewayRouteStatePending = "pending"
+
+ // LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
+ LocalGatewayRouteStateActive = "active"
+
+ // LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
+ LocalGatewayRouteStateBlackhole = "blackhole"
+
+ // LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
+ LocalGatewayRouteStateDeleting = "deleting"
+
+ // LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
+ LocalGatewayRouteStateDeleted = "deleted"
+)
+
+const (
+ // LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
+ LocalGatewayRouteTypeStatic = "static"
+
+ // LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
+ LocalGatewayRouteTypePropagated = "propagated"
+)
+
+const (
// LocationTypeRegion is a LocationType enum value
LocationTypeRegion = "region"
@@ -100674,6 +107748,14 @@ const (
)
const (
+ // MembershipTypeStatic is a MembershipType enum value
+ MembershipTypeStatic = "static"
+
+ // MembershipTypeIgmp is a MembershipType enum value
+ MembershipTypeIgmp = "igmp"
+)
+
+const (
// MonitoringStateDisabled is a MonitoringState enum value
MonitoringStateDisabled = "disabled"
@@ -100696,6 +107778,14 @@ const (
)
const (
+ // MulticastSupportValueEnable is a MulticastSupportValue enum value
+ MulticastSupportValueEnable = "enable"
+
+ // MulticastSupportValueDisable is a MulticastSupportValue enum value
+ MulticastSupportValueDisable = "disable"
+)
+
+const (
// NatGatewayStatePending is a NatGatewayState enum value
NatGatewayStatePending = "pending"
@@ -101060,6 +108150,9 @@ const (
// ResourceTypeSnapshot is a ResourceType enum value
ResourceTypeSnapshot = "snapshot"
+ // ResourceTypeSpotFleetRequest is a ResourceType enum value
+ ResourceTypeSpotFleetRequest = "spot-fleet-request"
+
// ResourceTypeSpotInstancesRequest is a ResourceType enum value
ResourceTypeSpotInstancesRequest = "spot-instances-request"
@@ -101081,6 +108174,9 @@ const (
// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
+ // ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
+ ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
+
// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
@@ -101128,6 +108224,23 @@ const (
)
const (
+ // RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
+ RouteTableAssociationStateCodeAssociating = "associating"
+
+ // RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
+ RouteTableAssociationStateCodeAssociated = "associated"
+
+ // RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
+ RouteTableAssociationStateCodeDisassociating = "disassociating"
+
+ // RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
+ RouteTableAssociationStateCodeDisassociated = "disassociated"
+
+ // RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
+ RouteTableAssociationStateCodeFailed = "failed"
+)
+
+const (
// RuleActionAllow is a RuleAction enum value
RuleActionAllow = "allow"
@@ -101442,9 +108555,15 @@ const (
// TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
+
+ // TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
+ TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
)
const (
+ // TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
+ TransitGatewayAttachmentStateInitiating = "initiating"
+
// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
@@ -101480,6 +108599,34 @@ const (
)
const (
+ // TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
+ TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
+
+ // TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
+ TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
+
+ // TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
+ TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
+
+ // TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
+ TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
+)
+
+const (
+ // TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
+ TransitGatewayMulticastDomainStatePending = "pending"
+
+ // TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
+ TransitGatewayMulticastDomainStateAvailable = "available"
+
+ // TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
+ TransitGatewayMulticastDomainStateDeleting = "deleting"
+
+ // TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
+ TransitGatewayMulticastDomainStateDeleted = "deleted"
+)
+
+const (
// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
TransitGatewayPropagationStateEnabling = "enabling"
@@ -101558,6 +108705,17 @@ const (
)
const (
+ // UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
+ UnlimitedSupportedInstanceFamilyT2 = "t2"
+
+ // UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
+ UnlimitedSupportedInstanceFamilyT3 = "t3"
+
+ // UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
+ UnlimitedSupportedInstanceFamilyT3a = "t3a"
+)
+
+const (
// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go
index d1375b22..b53a5226 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go
@@ -58,16 +58,15 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ
// CancelKeyDeletion API operation for AWS Key Management Service.
//
// Cancels the deletion of a customer master key (CMK). When this operation
-// is successful, the CMK is set to the Disabled state. To enable a CMK, use
-// EnableKey. You cannot perform this operation on a CMK in a different AWS
-// account.
+// succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey.
+// You cannot perform this operation on a CMK in a different AWS account.
//
// For more information about scheduling and canceling deletion of a CMK, see
// Deleting Customer Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html)
// in the AWS Key Management Service Developer Guide.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -100,7 +99,7 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CancelKeyDeletion
func (c *KMS) CancelKeyDeletion(input *CancelKeyDeletionInput) (*CancelKeyDeletionOutput, error) {
@@ -350,32 +349,68 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request,
// CreateAlias API operation for AWS Key Management Service.
//
// Creates a display name for a customer managed customer master key (CMK).
-// You can use an alias to identify a CMK in selected operations, such as Encrypt
-// and GenerateDataKey.
+// You can use an alias to identify a CMK in cryptographic operations, such
+// as Encrypt and GenerateDataKey. You can change the CMK associated with the
+// alias at any time.
+//
+// Aliases are easier to remember than key IDs. They can also help to simplify
+// your applications. For example, if you use an alias in your code, you can
+// change the CMK your code uses by associating a given alias with a different
+// CMK.
+//
+// To run the same code in multiple AWS regions, use an alias in your code,
+// such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey
+// alias that is associated with a CMK in that Region. When you run your code,
+// it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific
+// code.
+//
+// This operation does not return a response. To get the alias that you created,
+// use the ListAliases operation.
//
-// Each CMK can have multiple aliases, but each alias points to only one CMK.
-// The alias name must be unique in the AWS account and region. To simplify
-// code that runs in multiple regions, use the same alias name, but point it
-// to a different CMK in each region.
+// To use aliases successfully, be aware of the following information.
//
-// Because an alias is not a property of a CMK, you can delete and change the
-// aliases of a CMK without affecting the CMK. Also, aliases do not appear in
-// the response from the DescribeKey operation. To get the aliases of all CMKs,
-// use the ListAliases operation.
+// * Each alias points to only one CMK at a time, although a single CMK can
+// have multiple aliases. The alias and its associated CMK must be in the
+// same AWS account and Region.
//
-// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias.
-// It can contain only alphanumeric characters, forward slashes (/), underscores
-// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/
-// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).
+// * You can associate an alias with any customer managed CMK in the same
+// AWS account and Region. However, you do not have permission to associate
+// an alias with an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)
+// or an AWS owned CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk).
//
-// The alias and the CMK it is mapped to must be in the same AWS account and
-// the same region. You cannot perform this operation on an alias in a different
-// AWS account.
+// * To change the CMK associated with an alias, use the UpdateAlias operation.
+// The current CMK and the new CMK must be the same type (both symmetric
+// or both asymmetric) and they must have the same key usage (ENCRYPT_DECRYPT
+// or SIGN_VERIFY). This restriction prevents cryptographic errors in code
+// that uses aliases.
+//
+// * The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias.
+// It can contain only alphanumeric characters, forward slashes (/), underscores
+// (_), and dashes (-). The alias name cannot begin with alias/aws/. The
+// alias/aws/ prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).
//
-// To map an existing alias to a different CMK, call UpdateAlias.
+// * The alias name must be unique within an AWS Region. However, you can
+// use the same alias name in multiple Regions of the same AWS account. Each
+// instance of the alias is associated with a CMK in its Region.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// * After you create an alias, you cannot change its alias name. However,
+// you can use the DeleteAlias operation to delete the alias and then create
+// a new alias with the desired name.
+//
+// * You can use an alias name or alias ARN to identify a CMK in AWS KMS
+// cryptographic operations and in the DescribeKey operation. However, you
+// cannot use alias names or alias ARNs in API operations that manage CMKs,
+// such as DisableKey or GetKeyPolicy. For information about the valid CMK
+// identifiers for each AWS KMS API operation, see the descriptions of the
+// KeyId parameter in the API operation documentation.
+//
+// Because an alias is not a property of a CMK, you can delete and change the
+// aliases of a CMK without affecting the CMK. Also, aliases do not appear in
+// the response from the DescribeKey operation. To get the aliases and alias
+// ARNs of CMKs in each AWS account and Region, use the ListAliases operation.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -416,7 +451,7 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAlias
func (c *KMS) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
@@ -657,17 +692,44 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request,
// principal to use the CMK when the conditions specified in the grant are met.
// When setting permissions, grants are an alternative to key policies.
//
-// To create a grant that allows a cryptographic operation only when the encryption
-// context in the operation request matches or includes a specified encryption
-// context, use the Constraints parameter. For details, see GrantConstraints.
+// To create a grant that allows a cryptographic operation only when the request
+// includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context),
+// use the Constraints parameter. For details, see GrantConstraints.
+//
+// You can create grants on symmetric and asymmetric CMKs. However, if the grant
+// allows an operation that the CMK does not support, CreateGrant fails with
+// a ValidationException.
+//
+// * Grants for symmetric CMKs cannot allow operations that are not supported
+// for symmetric CMKs, including Sign, Verify, and GetPublicKey. (There are
+// limited exceptions to this rule for legacy operations, but you should
+// not create a grant for an operation that AWS KMS does not support.)
+//
+// * Grants for asymmetric CMKs cannot allow operations that are not supported
+// for asymmetric CMKs, including operations that generate data keys (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey)
+// or data key pairs (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair),
+// or operations related to automatic key rotation (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html),
+// imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html),
+// or CMKs in custom key stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
+//
+// * Grants for asymmetric CMKs with a KeyUsage of ENCRYPT_DECRYPT cannot
+// allow the Sign or Verify operations. Grants for asymmetric CMKs with a
+// KeyUsage of SIGN_VERIFY cannot allow the Encrypt or Decrypt operations.
+//
+// * Grants for asymmetric CMKs cannot include an encryption context grant
+// constraint. An encryption context is not supported on asymmetric CMKs.
+//
+// For information about symmetric and asymmetric CMKs, see Using Symmetric
+// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
//
// To perform this operation on a CMK in a different AWS account, specify the
// key ARN in the value of the KeyId parameter. For more information about grants,
// see Grants (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)
// in the AWS Key Management Service Developer Guide .
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -711,7 +773,7 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrant
func (c *KMS) CreateGrant(input *CreateGrantInput) (*CreateGrantOutput, error) {
@@ -779,23 +841,67 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out
// CreateKey API operation for AWS Key Management Service.
//
-// Creates a customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)
-// (CMK) in your AWS account.
+// Creates a unique customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master-keys)
+// (CMK) in your AWS account and Region. You cannot use this operation to create
+// a CMK in a different AWS account.
+//
+// You can use the CreateKey operation to create symmetric or asymmetric CMKs.
+//
+// * Symmetric CMKs contain a 256-bit symmetric key that never leaves AWS
+// KMS unencrypted. To use the CMK, you must call AWS KMS. You can use a
+// symmetric CMK to encrypt and decrypt small amounts of data, but they are
+// typically used to generate data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)
+// or data key pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
+//
+// * Asymmetric CMKs can contain an RSA key pair or an Elliptic Curve (ECC)
+// key pair. The private key in an asymmetric CMK never leaves AWS KMS unencrypted.
+// However, you can use the GetPublicKey operation to download the public
+// key so it can be used outside of AWS KMS. CMKs with RSA key pairs can
+// be used to encrypt or decrypt data or sign and verify messages (but not
+// both). CMKs with ECC key pairs can be used only to sign and verify messages.
+//
+// For information about symmetric and asymmetric CMKs, see Using Symmetric
+// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// To create different types of CMKs, use the following guidance:
+//
+// Asymmetric CMKs
+//
+// To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify
+// the type of key material in the CMK. Then, use the KeyUsage parameter to
+// determine whether the CMK will be used to encrypt and decrypt or sign and
+// verify. You can't change these properties after the CMK is created.
+//
+// Symmetric CMKs
+//
+// When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec
+// or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT,
+// and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values
+// for symmetric CMKs.
//
-// You can use a CMK to encrypt small amounts of data (up to 4096 bytes) directly.
-// But CMKs are more commonly used to encrypt the data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys)
-// that are used to encrypt data.
+// Imported Key Material
//
-// To create a CMK for imported key material, use the Origin parameter with
-// a value of EXTERNAL.
+// To import your own key material, begin by creating a symmetric CMK with no
+// key material. To do this, use the Origin parameter of CreateKey with a value
+// of EXTERNAL. Next, use GetParametersForImport operation to get a public key
+// and import token, and use the public key to encrypt your key material. Then,
+// use ImportKeyMaterial with your import token to import the key material.
+// For step-by-step instructions, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
+// in the AWS Key Management Service Developer Guide . You cannot import the
+// key material into an asymmetric CMK.
//
-// To create a CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html),
+// Custom Key Stores
+//
+// To create a symmetric CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html),
// use the CustomKeyStoreId parameter to specify the custom key store. You must
// also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM
// cluster that is associated with the custom key store must have at least two
// active HSMs in different Availability Zones in the AWS Region.
//
-// You cannot use this operation to create a CMK in a different AWS account.
+// You cannot create an asymmetric CMK in a custom key store. For information
+// about custom key stores in AWS KMS see Using Custom Key Stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)
+// in the AWS Key Management Service Developer Guide .
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -954,25 +1060,51 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output
// Decrypt API operation for AWS Key Management Service.
//
-// Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted
-// by using any of the following operations:
+// Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK)
+// using any of the following operations:
+//
+// * Encrypt
//
// * GenerateDataKey
//
+// * GenerateDataKeyPair
+//
// * GenerateDataKeyWithoutPlaintext
//
-// * Encrypt
+// * GenerateDataKeyPairWithoutPlaintext
+//
+// You can use this operation to decrypt ciphertext that was encrypted under
+// a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify
+// the CMK and the encryption algorithm that was used to encrypt the ciphertext.
+// For information about symmetric and asymmetric CMKs, see Using Symmetric
+// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// The Decrypt operation also decrypts ciphertext that was encrypted outside
+// of AWS KMS by the public key in an AWS KMS asymmetric CMK. However, it cannot
+// decrypt ciphertext produced by other libraries, such as the AWS Encryption
+// SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)
+// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html).
+// These libraries return a ciphertext format that is incompatible with AWS
+// KMS.
+//
+// If the ciphertext was encrypted under a symmetric CMK, you do not need to
+// specify the CMK or the encryption algorithm. AWS KMS can get this information
+// from metadata that it adds to the symmetric ciphertext blob. However, if
+// you prefer, you can specify the KeyId to ensure that a particular CMK is
+// used to decrypt the ciphertext. If you specify a different CMK than the one
+// used to encrypt the ciphertext, the Decrypt operation fails.
//
// Whenever possible, use key policies to give users permission to call the
-// Decrypt operation on the CMK, instead of IAM policies. Otherwise, you might
-// create an IAM user policy that gives the user Decrypt permission on all CMKs.
-// This user could decrypt ciphertext that was encrypted by CMKs in other accounts
-// if the key policy for the cross-account CMK permits it. If you must use an
-// IAM policy for Decrypt permissions, limit the user to particular CMKs or
-// particular trusted accounts.
-//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise,
+// you might create an IAM user policy that gives the user Decrypt permission
+// on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs
+// in other accounts if the key policy for the cross-account CMK permits it.
+// If you must use an IAM policy for Decrypt permissions, limit the user to
+// particular CMKs or particular trusted accounts.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -991,13 +1123,37 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output
// The request was rejected because the specified CMK is not enabled.
//
// * ErrCodeInvalidCiphertextException "InvalidCiphertextException"
-// The request was rejected because the specified ciphertext, or additional
-// authenticated data incorporated into the ciphertext, such as the encryption
-// context, is corrupted, missing, or otherwise invalid.
+// From the Decrypt or ReEncrypt operation, the request was rejected because
+// the specified ciphertext, or additional authenticated data incorporated into
+// the ciphertext, such as the encryption context, is corrupted, missing, or
+// otherwise invalid.
+//
+// From the ImportKeyMaterial operation, the request was rejected because AWS
+// KMS could not decrypt the encrypted (wrapped) key material.
//
// * ErrCodeKeyUnavailableException "KeyUnavailableException"
-// The request was rejected because the specified CMK was not available. The
-// request can be retried.
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeIncorrectKeyException "IncorrectKeyException"
+// The request was rejected because the specified CMK cannot decrypt the data.
+// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request
+// must identify the same CMK that was used to encrypt the ciphertext.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
//
// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
// The system timed out while trying to fulfill the request. The request can
@@ -1016,7 +1172,7 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt
func (c *KMS) Decrypt(input *DecryptInput) (*DecryptOutput, error) {
@@ -1123,7 +1279,7 @@ func (c *KMS) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteAlias
func (c *KMS) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
@@ -1342,8 +1498,8 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI
// After you delete key material, you can use ImportKeyMaterial to reimport
// the same key material into the CMK.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1380,7 +1536,7 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial
func (c *KMS) DeleteImportedKeyMaterial(input *DeleteImportedKeyMaterialInput) (*DeleteImportedKeyMaterialOutput, error) {
@@ -1558,12 +1714,38 @@ func (c *KMS) DescribeKeyRequest(input *DescribeKeyInput) (req *request.Request,
// DescribeKey API operation for AWS Key Management Service.
//
-// Provides detailed information about the specified customer master key (CMK).
+// Provides detailed information about a customer master key (CMK). You can
+// run DescribeKey on a customer managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)
+// or an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).
+//
+// This detailed information includes the key ARN, creation date (and deletion
+// date, if applicable), the key state, and the origin and expiration date (if
+// any) of the key material. For CMKs in custom key stores, it includes information
+// about the custom key store, such as the key store ID and the AWS CloudHSM
+// cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric
+// from asymmetric CMKs. It also provides information that is particularly important
+// to asymmetric CMKs, such as the key usage (encryption or signing) and the
+// encryption algorithms or signing algorithms that the CMK supports.
+//
+// DescribeKey does not return the following information:
//
-// You can use DescribeKey on a predefined AWS alias, that is, an AWS alias
-// with no key ID. When you do, AWS KMS associates the alias with an AWS managed
-// CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)
-// and returns its KeyId and Arn in the response.
+// * Aliases associated with the CMK. To get this information, use ListAliases.
+//
+// * Whether automatic key rotation is enabled on the CMK. To get this information,
+// use GetKeyRotationStatus. Also, some key states prevent a CMK from being
+// automatically rotated. For details, see How Automatic Key Rotation Works
+// (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works)
+// in AWS Key Management Service Developer Guide.
+//
+// * Tags on the CMK. To get this information, use ListResourceTags.
+//
+// * Key policies and grants on the CMK. To get this information, use GetKeyPolicy
+// and ListGrants.
+//
+// If you call the DescribeKey operation on a predefined AWS alias, that is,
+// an AWS alias with no key ID, AWS KMS creates an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys).
+// Then, it associates the alias with the new CMK, and returns the KeyId and
+// Arn of the new CMK in the response.
//
// To perform this operation on a CMK in a different AWS account, specify the
// key ARN or alias ARN in the value of the KeyId parameter.
@@ -1667,8 +1849,8 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o
// Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide .
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1701,7 +1883,7 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKey
func (c *KMS) DisableKey(input *DisableKeyInput) (*DisableKeyOutput, error) {
@@ -1771,11 +1953,14 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re
// DisableKeyRotation API operation for AWS Key Management Service.
//
// Disables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)
-// for the specified customer master key (CMK). You cannot perform this operation
-// on a CMK in a different AWS account.
+// for the specified symmetric customer master key (CMK).
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported
+// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
+// You cannot perform this operation on a CMK in a different AWS account.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1811,7 +1996,7 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// The request was rejected because a specified parameter is not supported or
@@ -2011,8 +2196,8 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out
// you to use the CMK for cryptographic operations. You cannot perform this
// operation on a CMK in a different AWS account.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -2050,7 +2235,7 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKey
func (c *KMS) EnableKey(input *EnableKeyInput) (*EnableKeyOutput, error) {
@@ -2120,14 +2305,14 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ
// EnableKeyRotation API operation for AWS Key Management Service.
//
// Enables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)
-// for the specified customer master key (CMK). You cannot perform this operation
-// on a CMK in a different AWS account.
+// for the specified symmetric customer master key (CMK). You cannot perform
+// this operation on a CMK in a different AWS account.
//
-// You cannot enable automatic rotation of CMKs with imported key material or
-// CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
+// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported
+// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -2163,7 +2348,7 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// The request was rejected because a specified parameter is not supported or
@@ -2238,8 +2423,8 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output
// Encrypts plaintext into ciphertext by using a customer master key (CMK).
// The Encrypt operation has two primary use cases:
//
-// * You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such
-// as an RSA key, a database password, or other sensitive information.
+// * You can encrypt small amounts of arbitrary data, such as a personal
+// identifier or database password, or other sensitive information.
//
// * You can use the Encrypt operation to move encrypted data from one AWS
// region to another. In the first region, generate a data key and use the
@@ -2248,16 +2433,50 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output
// data and encrypted data key to the new region, and decrypt in the new
// region when necessary.
//
-// You don't need use this operation to encrypt a data key within a region.
-// The GenerateDataKey and GenerateDataKeyWithoutPlaintext operations return
-// an encrypted data key.
+// You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey
+// and GenerateDataKeyPair operations return a plaintext data key and an encrypted
+// copy of that data key.
+//
+// When you encrypt data, you must specify a symmetric or asymmetric CMK to
+// use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT.
+// To find the KeyUsage of a CMK, use the DescribeKey operation.
//
-// Also, you don't need to use this operation to encrypt data in your application.
-// You can use the plaintext and encrypted data keys that the GenerateDataKey
-// operation returns.
+// If you use a symmetric CMK, you can use an encryption context to add additional
+// security to your encryption operation. If you specify an EncryptionContext
+// when encrypting data, you must specify the same encryption context (a case-sensitive
+// exact match) when decrypting the data. Otherwise, the request to decrypt
+// fails with an InvalidCiphertextException. For more information, see Encryption
+// Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+// in the AWS Key Management Service Developer Guide.
+//
+// If you specify an asymmetric CMK, you must also specify the encryption algorithm.
+// The algorithm must be compatible with the CMK type.
+//
+// When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record
+// the CMK and encryption algorithm that you choose. You will be required to
+// provide the same CMK and encryption algorithm when you decrypt the data.
+// If the CMK and algorithm do not match the values used to encrypt the data,
+// the decrypt operation fails.
+//
+// You are not required to supply the CMK ID and encryption algorithm when you
+// decrypt with symmetric CMKs because AWS KMS stores this information in the
+// ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with
+// asymmetric keys. The standard format for asymmetric key ciphertext does not
+// include configurable fields.
+//
+// The maximum size of the data that you can encrypt varies with the type of
+// CMK and the encryption algorithm that you choose.
+//
+// * Symmetric CMKs SYMMETRIC_DEFAULT: 4096 bytes
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// * RSA_2048 RSAES_OAEP_SHA_1: 214 bytes RSAES_OAEP_SHA_256: 190 bytes
+//
+// * RSA_3072 RSAES_OAEP_SHA_1: 342 bytes RSAES_OAEP_SHA_256: 318 bytes
+//
+// * RSA_4096 RSAES_OAEP_SHA_1: 470 bytes RSAES_OAEP_SHA_256: 446 bytes
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// To perform this operation on a CMK in a different AWS account, specify the
@@ -2279,15 +2498,27 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output
// The request was rejected because the specified CMK is not enabled.
//
// * ErrCodeKeyUnavailableException "KeyUnavailableException"
-// The request was rejected because the specified CMK was not available. The
-// request can be retried.
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
//
// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
// The system timed out while trying to fulfill the request. The request can
// be retried.
//
// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
-// The request was rejected because the specified KeySpec value is not valid.
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
//
// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
// The request was rejected because the specified grant token is not valid.
@@ -2302,7 +2533,7 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Encrypt
func (c *KMS) Encrypt(input *EncryptInput) (*EncryptOutput, error) {
@@ -2370,26 +2601,42 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request.
// GenerateDataKey API operation for AWS Key Management Service.
//
-// Generates a unique data key. This operation returns a plaintext copy of the
-// data key and a copy that is encrypted under a customer master key (CMK) that
-// you specify. You can use the plaintext key to encrypt your data outside of
-// KMS and store the encrypted data key with the encrypted data.
+// Generates a unique symmetric data key. This operation returns a plaintext
+// copy of the data key and a copy that is encrypted under a customer master
+// key (CMK) that you specify. You can use the plaintext key to encrypt your
+// data outside of AWS KMS and store the encrypted data key with the encrypted
+// data.
//
// GenerateDataKey returns a unique data key for each request. The bytes in
// the key are not related to the caller or CMK that is used to encrypt the
// data key.
//
-// To generate a data key, you need to specify the customer master key (CMK)
-// that will be used to encrypt the data key. You must also specify the length
-// of the data key using either the KeySpec or NumberOfBytes field (but not
-// both). For common key lengths (128-bit and 256-bit symmetric keys), we recommend
-// that you use KeySpec. To perform this operation on a CMK in a different AWS
-// account, specify the key ARN or alias ARN in the value of the KeyId parameter.
+// To generate a data key, specify the symmetric CMK that will be used to encrypt
+// the data key. You cannot use an asymmetric CMK to generate data keys.
//
-// You will find the plaintext copy of the data key in the Plaintext field of
-// the response, and the encrypted copy of the data key in the CiphertextBlob
+// You must also specify the length of the data key. Use either the KeySpec
+// or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data
+// keys, use the KeySpec parameter.
+//
+// If the operation succeeds, the plaintext copy of the data key is in the Plaintext
+// field of the response, and the encrypted copy of the data key in the CiphertextBlob
// field.
//
+// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext.
+// To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext
+// operation. To get a cryptographically secure random byte string, use GenerateRandom.
+//
+// You can use the optional encryption context to add additional security to
+// the encryption operation. If you specify an EncryptionContext, you must specify
+// the same encryption context (a case-sensitive exact match) when decrypting
+// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException.
+// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+// in the AWS Key Management Service Developer Guide.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
// We recommend that you use the following pattern to encrypt data locally in
// your application:
//
@@ -2409,21 +2656,6 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request.
// Use the plaintext data key to decrypt data locally, then erase the plaintext
// data key from memory.
//
-// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext.
-// To get a cryptographically secure random byte string, use GenerateRandom.
-//
-// You can use the optional encryption context to add additional security to
-// your encryption operation. When you specify an EncryptionContext in the GenerateDataKey
-// operation, you must specify the same encryption context (a case-sensitive
-// exact match) in your request to Decrypt the data key. Otherwise, the request
-// to decrypt fails with an InvalidCiphertextException. For more information,
-// see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
-// in the AWS Key Management Service Developer Guide .
-//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
-//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -2440,15 +2672,27 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request.
// The request was rejected because the specified CMK is not enabled.
//
// * ErrCodeKeyUnavailableException "KeyUnavailableException"
-// The request was rejected because the specified CMK was not available. The
-// request can be retried.
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
//
// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
// The system timed out while trying to fulfill the request. The request can
// be retried.
//
// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
-// The request was rejected because the specified KeySpec value is not valid.
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
//
// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
// The request was rejected because the specified grant token is not valid.
@@ -2463,7 +2707,7 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request.
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey
func (c *KMS) GenerateDataKey(input *GenerateDataKeyInput) (*GenerateDataKeyOutput, error) {
@@ -2487,6 +2731,312 @@ func (c *KMS) GenerateDataKeyWithContext(ctx aws.Context, input *GenerateDataKey
return out, req.Send()
}
+const opGenerateDataKeyPair = "GenerateDataKeyPair"
+
+// GenerateDataKeyPairRequest generates a "aws/request.Request" representing the
+// client's request for the GenerateDataKeyPair operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GenerateDataKeyPair for more information on using the GenerateDataKeyPair
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GenerateDataKeyPairRequest method.
+// req, resp := client.GenerateDataKeyPairRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair
+func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req *request.Request, output *GenerateDataKeyPairOutput) {
+ op := &request.Operation{
+ Name: opGenerateDataKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GenerateDataKeyPairInput{}
+ }
+
+ output = &GenerateDataKeyPairOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GenerateDataKeyPair API operation for AWS Key Management Service.
+//
+// Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation
+// returns a plaintext public key, a plaintext private key, and a copy of the
+// private key that is encrypted under the symmetric CMK you specify. You can
+// use the data key pair to perform asymmetric cryptography outside of AWS KMS.
+//
+// GenerateDataKeyPair returns a unique data key pair for each request. The
+// bytes in the keys are not related to the caller or the CMK that is used to
+// encrypt the private key.
+//
+// You can use the public key that GenerateDataKeyPair returns to encrypt data
+// or verify a signature outside of AWS KMS. Then, store the encrypted private
+// key with the data. When you are ready to decrypt data or sign a message,
+// you can use the Decrypt operation to decrypt the encrypted private key.
+//
+// To generate a data key pair, you must specify a symmetric customer master
+// key (CMK) to encrypt the private key in a data key pair. You cannot use an
+// asymmetric CMK. To get the type of your CMK, use the DescribeKey operation.
+//
+// If you are using the data key pair to encrypt data, or for any operation
+// where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext
+// operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public
+// key and an encrypted private key, but omits the plaintext private key that
+// you need only to decrypt ciphertext or sign a message. Later, when you need
+// to decrypt the data or sign a message, use the Decrypt operation to decrypt
+// the encrypted private key in the data key pair.
+//
+// You can use the optional encryption context to add additional security to
+// the encryption operation. If you specify an EncryptionContext, you must specify
+// the same encryption context (a case-sensitive exact match) when decrypting
+// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException.
+// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+// in the AWS Key Management Service Developer Guide.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Key Management Service's
+// API operation GenerateDataKeyPair for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNotFoundException "NotFoundException"
+// The request was rejected because the specified entity or resource could not
+// be found.
+//
+// * ErrCodeDisabledException "DisabledException"
+// The request was rejected because the specified CMK is not enabled.
+//
+// * ErrCodeKeyUnavailableException "KeyUnavailableException"
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
+// The system timed out while trying to fulfill the request. The request can
+// be retried.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
+//
+// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
+// The request was rejected because the specified grant token is not valid.
+//
+// * ErrCodeInternalException "KMSInternalException"
+// The request was rejected because an internal exception occurred. The request
+// can be retried.
+//
+// * ErrCodeInvalidStateException "KMSInvalidStateException"
+// The request was rejected because the state of the specified resource is not
+// valid for this request.
+//
+// For more information about how key state affects the use of a CMK, see How
+// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide .
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair
+func (c *KMS) GenerateDataKeyPair(input *GenerateDataKeyPairInput) (*GenerateDataKeyPairOutput, error) {
+ req, out := c.GenerateDataKeyPairRequest(input)
+ return out, req.Send()
+}
+
+// GenerateDataKeyPairWithContext is the same as GenerateDataKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GenerateDataKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *KMS) GenerateDataKeyPairWithContext(ctx aws.Context, input *GenerateDataKeyPairInput, opts ...request.Option) (*GenerateDataKeyPairOutput, error) {
+ req, out := c.GenerateDataKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext"
+
+// GenerateDataKeyPairWithoutPlaintextRequest generates a "aws/request.Request" representing the
+// client's request for the GenerateDataKeyPairWithoutPlaintext operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GenerateDataKeyPairWithoutPlaintext for more information on using the GenerateDataKeyPairWithoutPlaintext
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GenerateDataKeyPairWithoutPlaintextRequest method.
+// req, resp := client.GenerateDataKeyPairWithoutPlaintextRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext
+func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyPairWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyPairWithoutPlaintextOutput) {
+ op := &request.Operation{
+ Name: opGenerateDataKeyPairWithoutPlaintext,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GenerateDataKeyPairWithoutPlaintextInput{}
+ }
+
+ output = &GenerateDataKeyPairWithoutPlaintextOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GenerateDataKeyPairWithoutPlaintext API operation for AWS Key Management Service.
+//
+// Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext
+// operation returns a plaintext public key and a copy of the private key that
+// is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair,
+// this operation does not return a plaintext private key.
+//
+// To generate a data key pair, you must specify a symmetric customer master
+// key (CMK) to encrypt the private key in the data key pair. You cannot use
+// an asymmetric CMK. To get the type of your CMK, use the KeySpec field in
+// the DescribeKey response.
+//
+// You can use the public key that GenerateDataKeyPairWithoutPlaintext returns
+// to encrypt data or verify a signature outside of AWS KMS. Then, store the
+// encrypted private key with the data. When you are ready to decrypt data or
+// sign a message, you can use the Decrypt operation to decrypt the encrypted
+// private key.
+//
+// GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each
+// request. The bytes in the key are not related to the caller or CMK that is
+// used to encrypt the private key.
+//
+// You can use the optional encryption context to add additional security to
+// the encryption operation. If you specify an EncryptionContext, you must specify
+// the same encryption context (a case-sensitive exact match) when decrypting
+// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException.
+// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+// in the AWS Key Management Service Developer Guide.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Key Management Service's
+// API operation GenerateDataKeyPairWithoutPlaintext for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNotFoundException "NotFoundException"
+// The request was rejected because the specified entity or resource could not
+// be found.
+//
+// * ErrCodeDisabledException "DisabledException"
+// The request was rejected because the specified CMK is not enabled.
+//
+// * ErrCodeKeyUnavailableException "KeyUnavailableException"
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
+// The system timed out while trying to fulfill the request. The request can
+// be retried.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
+//
+// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
+// The request was rejected because the specified grant token is not valid.
+//
+// * ErrCodeInternalException "KMSInternalException"
+// The request was rejected because an internal exception occurred. The request
+// can be retried.
+//
+// * ErrCodeInvalidStateException "KMSInvalidStateException"
+// The request was rejected because the state of the specified resource is not
+// valid for this request.
+//
+// For more information about how key state affects the use of a CMK, see How
+// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide .
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext
+func (c *KMS) GenerateDataKeyPairWithoutPlaintext(input *GenerateDataKeyPairWithoutPlaintextInput) (*GenerateDataKeyPairWithoutPlaintextOutput, error) {
+ req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input)
+ return out, req.Send()
+}
+
+// GenerateDataKeyPairWithoutPlaintextWithContext is the same as GenerateDataKeyPairWithoutPlaintext with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GenerateDataKeyPairWithoutPlaintext for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *KMS) GenerateDataKeyPairWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyPairWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyPairWithoutPlaintextOutput, error) {
+ req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext"
// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the
@@ -2531,18 +3081,16 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho
// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service.
//
-// Generates a unique data key. This operation returns a data key that is encrypted
-// under a customer master key (CMK) that you specify. GenerateDataKeyWithoutPlaintext
-// is identical to GenerateDataKey except that returns only the encrypted copy
-// of the data key.
-//
-// Like GenerateDataKey, GenerateDataKeyWithoutPlaintext returns a unique data
-// key for each request. The bytes in the key are not related to the caller
-// or CMK that is used to encrypt the data key.
+// Generates a unique symmetric data key. This operation returns a data key
+// that is encrypted under a customer master key (CMK) that you specify. To
+// request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext
+// operations.
//
-// This operation is useful for systems that need to encrypt data at some point,
-// but not immediately. When you need to encrypt the data, you call the Decrypt
-// operation on the encrypted copy of the key.
+// GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation
+// except that returns only the encrypted copy of the data key. This operation
+// is useful for systems that need to encrypt data at some point, but not immediately.
+// When you need to encrypt the data, you call the Decrypt operation on the
+// encrypted copy of the key.
//
// It's also useful in distributed systems with different levels of trust. For
// example, you might store encrypted data in containers. One component of your
@@ -2553,8 +3101,31 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho
// the plaintext data key. In this system, the component that creates the containers
// never sees the plaintext data key.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// GenerateDataKeyWithoutPlaintext returns a unique data key for each request.
+// The bytes in the keys are not related to the caller or CMK that is used to
+// encrypt the private key.
+//
+// To generate a data key, you must specify the symmetric customer master key
+// (CMK) that is used to encrypt the data key. You cannot use an asymmetric
+// CMK to generate a data key. To get the type of your CMK, use the KeySpec
+// field in the DescribeKey response. You must also specify the length of the
+// data key using either the KeySpec or NumberOfBytes field (but not both).
+// For common key lengths (128-bit and 256-bit symmetric keys), use the KeySpec
+// parameter.
+//
+// If the operation succeeds, you will find the plaintext copy of the data key
+// in the Plaintext field of the response, and the encrypted copy of the data
+// key in the CiphertextBlob field.
+//
+// You can use the optional encryption context to add additional security to
+// the encryption operation. If you specify an EncryptionContext, you must specify
+// the same encryption context (a case-sensitive exact match) when decrypting
+// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException.
+// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+// in the AWS Key Management Service Developer Guide.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -2573,15 +3144,27 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho
// The request was rejected because the specified CMK is not enabled.
//
// * ErrCodeKeyUnavailableException "KeyUnavailableException"
-// The request was rejected because the specified CMK was not available. The
-// request can be retried.
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
//
// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
// The system timed out while trying to fulfill the request. The request can
// be retried.
//
// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
-// The request was rejected because the specified KeySpec value is not valid.
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
//
// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
// The request was rejected because the specified grant token is not valid.
@@ -2596,7 +3179,7 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext
func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) {
@@ -2813,7 +3396,7 @@ func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Reques
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy
func (c *KMS) GetKeyPolicy(input *GetKeyPolicyInput) (*GetKeyPolicyOutput, error) {
@@ -2885,8 +3468,12 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req
// material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html)
// is enabled for the specified customer master key (CMK).
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported
+// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
+// The key rotation status for these CMKs is always false.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// * Disabled: The key rotation status does not change when you disable a
@@ -2930,7 +3517,7 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
// The request was rejected because a specified parameter is not supported or
@@ -3002,26 +3589,29 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput)
// GetParametersForImport API operation for AWS Key Management Service.
//
-// Returns the items you need in order to import key material into AWS KMS from
-// your existing key management infrastructure. For more information about importing
-// key material into AWS KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
+// Returns the items you need to import key material into a symmetric, customer
+// managed customer master key (CMK). For more information about importing key
+// material into AWS KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
-// You must specify the key ID of the customer master key (CMK) into which you
-// will import key material. This CMK's Origin must be EXTERNAL. You must also
-// specify the wrapping algorithm and type of wrapping key (public key) that
-// you will use to encrypt the key material. You cannot perform this operation
-// on a CMK in a different AWS account.
-//
// This operation returns a public key and an import token. Use the public key
-// to encrypt the key material. Store the import token to send with a subsequent
-// ImportKeyMaterial request. The public key and import token from the same
-// response must be used together. These items are valid for 24 hours. When
-// they expire, they cannot be used for a subsequent ImportKeyMaterial request.
-// To get new ones, send another GetParametersForImport request.
-//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// to encrypt the symmetric key material. Store the import token to send with
+// a subsequent ImportKeyMaterial request.
+//
+// You must specify the key ID of the symmetric CMK into which you will import
+// key material. This CMK's Origin must be EXTERNAL. You must also specify the
+// wrapping algorithm and type of wrapping key (public key) that you will use
+// to encrypt the key material. You cannot perform this operation on an asymmetric
+// CMK or on any CMK in a different AWS account.
+//
+// To import key material, you must use the public key and import token from
+// the same response. These items are valid for 24 hours. The expiration date
+// and time appear in the GetParametersForImport response. You cannot use an
+// expired token in an ImportKeyMaterial request. If your key and token expire,
+// send another GetParametersForImport request.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3058,7 +3648,7 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput)
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetParametersForImport
func (c *KMS) GetParametersForImport(input *GetParametersForImportInput) (*GetParametersForImportOutput, error) {
@@ -3082,6 +3672,175 @@ func (c *KMS) GetParametersForImportWithContext(ctx aws.Context, input *GetParam
return out, req.Send()
}
+const opGetPublicKey = "GetPublicKey"
+
+// GetPublicKeyRequest generates a "aws/request.Request" representing the
+// client's request for the GetPublicKey operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetPublicKey for more information on using the GetPublicKey
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetPublicKeyRequest method.
+// req, resp := client.GetPublicKeyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey
+func (c *KMS) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) {
+ op := &request.Operation{
+ Name: opGetPublicKey,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetPublicKeyInput{}
+ }
+
+ output = &GetPublicKeyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetPublicKey API operation for AWS Key Management Service.
+//
+// Returns the public key of an asymmetric CMK. Unlike the private key of a
+// asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey
+// permission can download the public key of an asymmetric CMK. You can share
+// the public key to allow others to encrypt messages and verify signatures
+// outside of AWS KMS. For information about symmetric and asymmetric CMKs,
+// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// You do not need to download the public key. Instead, you can use the public
+// key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations
+// with the identifier of an asymmetric CMK. When you use the public key within
+// AWS KMS, you benefit from the authentication, authorization, and logging
+// that are part of every AWS KMS operation. You also reduce of risk of encrypting
+// data that cannot be decrypted. These features are not effective outside of
+// AWS KMS. For details, see Special Considerations for Downloading Public Keys
+// (kms/latest/developerguide/get-public-key.html#get-public-key-considerations).
+//
+// To help you use the public key safely outside of AWS KMS, GetPublicKey returns
+// important information about the public key in the response, including:
+//
+// * CustomerMasterKeySpec (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-CustomerMasterKeySpec):
+// The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.
+//
+// * KeyUsage (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage):
+// Whether the key is used for encryption or signing.
+//
+// * EncryptionAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms)
+// or SigningAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms):
+// A list of the encryption algorithms or the signing algorithms for the
+// key.
+//
+// Although AWS KMS cannot enforce these restrictions on external operations,
+// it is crucial that you use this information to prevent the public key from
+// being used improperly. For example, you can prevent a public signing key
+// from being used encrypt data, or prevent a public key from being used with
+// an encryption algorithm that is not supported by AWS KMS. You can also avoid
+// errors, such as using the wrong signing algorithm in a verification operation.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Key Management Service's
+// API operation GetPublicKey for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNotFoundException "NotFoundException"
+// The request was rejected because the specified entity or resource could not
+// be found.
+//
+// * ErrCodeDisabledException "DisabledException"
+// The request was rejected because the specified CMK is not enabled.
+//
+// * ErrCodeKeyUnavailableException "KeyUnavailableException"
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
+// The system timed out while trying to fulfill the request. The request can
+// be retried.
+//
+// * ErrCodeUnsupportedOperationException "UnsupportedOperationException"
+// The request was rejected because a specified parameter is not supported or
+// a specified resource is not valid for this operation.
+//
+// * ErrCodeInvalidArnException "InvalidArnException"
+// The request was rejected because a specified ARN, or an ARN in a key policy,
+// is not valid.
+//
+// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
+// The request was rejected because the specified grant token is not valid.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
+//
+// * ErrCodeInternalException "KMSInternalException"
+// The request was rejected because an internal exception occurred. The request
+// can be retried.
+//
+// * ErrCodeInvalidStateException "KMSInvalidStateException"
+// The request was rejected because the state of the specified resource is not
+// valid for this request.
+//
+// For more information about how key state affects the use of a CMK, see How
+// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide .
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey
+func (c *KMS) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) {
+ req, out := c.GetPublicKeyRequest(input)
+ return out, req.Send()
+}
+
+// GetPublicKeyWithContext is the same as GetPublicKey with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetPublicKey for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *KMS) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) {
+ req, out := c.GetPublicKeyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opImportKeyMaterial = "ImportKeyMaterial"
// ImportKeyMaterialRequest generates a "aws/request.Request" representing the
@@ -3127,11 +3886,14 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ
// ImportKeyMaterial API operation for AWS Key Management Service.
//
-// Imports key material into an existing AWS KMS customer master key (CMK) that
-// was created without key material. You cannot perform this operation on a
-// CMK in a different AWS account. For more information about creating CMKs
-// with no key material and then importing key material, see Importing Key Material
-// (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
+// Imports key material into an existing symmetric AWS KMS customer master key
+// (CMK) that was created without key material. After you successfully import
+// key material into a CMK, you can reimport the same key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material)
+// into that CMK, but you cannot import different key material.
+//
+// You cannot perform this operation on an asymmetric CMK or on any CMK in a
+// different AWS account. For more information about creating CMKs with no key
+// material and then importing key material, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
// Before using this operation, call GetParametersForImport. Its response includes
@@ -3148,23 +3910,27 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ
// * The encrypted key material. To get the public key to encrypt the key
// material, call GetParametersForImport.
//
-// * The import token that GetParametersForImport returned. This token and
-// the public key used to encrypt the key material must have come from the
-// same response.
+// * The import token that GetParametersForImport returned. You must use
+// a public key and token from the same GetParametersForImport response.
//
// * Whether the key material expires and if so, when. If you set an expiration
-// date, you can change it only by reimporting the same key material and
-// specifying a new expiration date. If the key material expires, AWS KMS
-// deletes the key material and the CMK becomes unusable. To use the CMK
-// again, you must reimport the same key material.
+// date, AWS KMS deletes the key material from the CMK on the specified date,
+// and the CMK becomes unusable. To use the CMK again, you must reimport
+// the same key material. The only way to change an expiration date is by
+// reimporting the same key material and specifying a new expiration date.
//
// When this operation is successful, the key state of the CMK changes from
-// PendingImport to Enabled, and you can use the CMK. After you successfully
-// import key material into a CMK, you can reimport the same key material into
-// that CMK, but you cannot import different key material.
+// PendingImport to Enabled, and you can use the CMK.
+//
+// If this operation fails, use the exception to help determine the problem.
+// If the error is related to the key material, the import token, or wrapping
+// key, use GetParametersForImport to get a new public key and import token
+// for the CMK and repeat the import procedure. For help, see How To Import
+// Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview)
+// in the AWS Key Management Service Developer Guide.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3201,20 +3967,24 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeInvalidCiphertextException "InvalidCiphertextException"
-// The request was rejected because the specified ciphertext, or additional
-// authenticated data incorporated into the ciphertext, such as the encryption
-// context, is corrupted, missing, or otherwise invalid.
+// From the Decrypt or ReEncrypt operation, the request was rejected because
+// the specified ciphertext, or additional authenticated data incorporated into
+// the ciphertext, such as the encryption context, is corrupted, missing, or
+// otherwise invalid.
+//
+// From the ImportKeyMaterial operation, the request was rejected because AWS
+// KMS could not decrypt the encrypted (wrapped) key material.
//
// * ErrCodeIncorrectKeyMaterialException "IncorrectKeyMaterialException"
-// The request was rejected because the provided key material is invalid or
-// is not the same key material that was previously imported into this customer
-// master key (CMK).
+// The request was rejected because the key material in the request is, expired,
+// invalid, or is not the same key material that was previously imported into
+// this customer master key (CMK).
//
// * ErrCodeExpiredImportTokenException "ExpiredImportTokenException"
-// The request was rejected because the provided import token is expired. Use
+// The request was rejected because the specified import token is expired. Use
// GetParametersForImport to get a new import token and public key, use the
// new public key to encrypt the key material, and then try the request again.
//
@@ -3502,7 +4272,7 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrants
func (c *KMS) ListGrants(input *ListGrantsInput) (*ListGrantsResponse, error) {
@@ -3663,7 +4433,7 @@ func (c *KMS) ListKeyPoliciesRequest(input *ListKeyPoliciesInput) (req *request.
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPolicies
func (c *KMS) ListKeyPolicies(input *ListKeyPoliciesInput) (*ListKeyPoliciesOutput, error) {
@@ -3790,7 +4560,7 @@ func (c *KMS) ListKeysRequest(input *ListKeysInput) (req *request.Request, outpu
// ListKeys API operation for AWS Key Management Service.
//
// Gets a list of all customer master keys (CMKs) in the caller's AWS account
-// and region.
+// and Region.
//
// 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
@@ -4174,7 +4944,7 @@ func (c *KMS) PutKeyPolicyRequest(input *PutKeyPolicyInput) (req *request.Reques
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicy
func (c *KMS) PutKeyPolicy(input *PutKeyPolicyInput) (*PutKeyPolicyOutput, error) {
@@ -4242,23 +5012,66 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out
// ReEncrypt API operation for AWS Key Management Service.
//
-// Encrypts data on the server side with a new customer master key (CMK) without
-// exposing the plaintext of the data on the client side. The data is first
-// decrypted and then reencrypted. You can also use this operation to change
-// the encryption context of a ciphertext.
-//
-// You can reencrypt data using CMKs in different AWS accounts.
-//
-// Unlike other operations, ReEncrypt is authorized twice, once as ReEncryptFrom
-// on the source CMK and once as ReEncryptTo on the destination CMK. We recommend
-// that you include the "kms:ReEncrypt*" permission in your key policies (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)
-// to permit reencryption from or to the CMK. This permission is automatically
-// included in the key policy when you create a CMK through the console. But
-// you must include it manually when you create a CMK programmatically or when
-// you set a key policy with the PutKeyPolicy operation.
-//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can
+// use this operation to change the customer master key (CMK) under which data
+// is encrypted, such as when you manually rotate (kms/latest/developerguide/rotate-keys.html#rotate-keys-manually)
+// a CMK or change the CMK that protects a ciphertext. You can also use it to
+// reencrypt ciphertext under the same CMK, such as to change the encryption
+// context of a ciphertext.
+//
+// The ReEncrypt operation can decrypt ciphertext that was encrypted by using
+// an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey.
+// It can also decrypt ciphertext that was encrypted by using the public key
+// of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext
+// produced by other libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)
+// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html).
+// These libraries return a ciphertext format that is incompatible with AWS
+// KMS.
+//
+// When you use the ReEncrypt operation, you need to provide information for
+// the decrypt operation and the subsequent encrypt operation.
+//
+// * If your ciphertext was encrypted under an asymmetric CMK, you must identify
+// the source CMK, that is, the CMK that encrypted the ciphertext. You must
+// also supply the encryption algorithm that was used. This information is
+// required to decrypt the data.
+//
+// * It is optional, but you can specify a source CMK even when the ciphertext
+// was encrypted under a symmetric CMK. This ensures that the ciphertext
+// is decrypted only by using a particular CMK. If the CMK that you specify
+// cannot decrypt the ciphertext, the ReEncrypt operation fails.
+//
+// * To reencrypt the data, you must specify the destination CMK, that is,
+// the CMK that re-encrypts the data after it is decrypted. You can select
+// a symmetric or asymmetric CMK. If the destination CMK is an asymmetric
+// CMK, you must also provide the encryption algorithm. The algorithm that
+// you choose must be compatible with the CMK. When you use an asymmetric
+// CMK to encrypt or reencrypt data, be sure to record the CMK and encryption
+// algorithm that you choose. You will be required to provide the same CMK
+// and encryption algorithm when you decrypt the data. If the CMK and algorithm
+// do not match the values used to encrypt the data, the decrypt operation
+// fails. You are not required to supply the CMK ID and encryption algorithm
+// when you decrypt with symmetric CMKs because AWS KMS stores this information
+// in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated
+// with asymmetric keys. The standard format for asymmetric key ciphertext
+// does not include configurable fields.
+//
+// Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions:
+//
+// * kms:EncryptFrom permission on the source CMK
+//
+// * kms:EncryptTo permission on the destination CMK
+//
+// To permit reencryption from
+//
+// or to a CMK, include the "kms:ReEncrypt*" permission in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html).
+// This permission is automatically included in the key policy when you use
+// the console to create a CMK. But you must include it manually when you create
+// a CMK programmatically or when you use the PutKeyPolicy operation set a key
+// policy.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4277,20 +5090,41 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out
// The request was rejected because the specified CMK is not enabled.
//
// * ErrCodeInvalidCiphertextException "InvalidCiphertextException"
-// The request was rejected because the specified ciphertext, or additional
-// authenticated data incorporated into the ciphertext, such as the encryption
-// context, is corrupted, missing, or otherwise invalid.
+// From the Decrypt or ReEncrypt operation, the request was rejected because
+// the specified ciphertext, or additional authenticated data incorporated into
+// the ciphertext, such as the encryption context, is corrupted, missing, or
+// otherwise invalid.
+//
+// From the ImportKeyMaterial operation, the request was rejected because AWS
+// KMS could not decrypt the encrypted (wrapped) key material.
//
// * ErrCodeKeyUnavailableException "KeyUnavailableException"
-// The request was rejected because the specified CMK was not available. The
-// request can be retried.
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeIncorrectKeyException "IncorrectKeyException"
+// The request was rejected because the specified CMK cannot decrypt the data.
+// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request
+// must identify the same CMK that was used to encrypt the ciphertext.
//
// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
// The system timed out while trying to fulfill the request. The request can
// be retried.
//
// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
-// The request was rejected because the specified KeySpec value is not valid.
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
//
// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
// The request was rejected because the specified grant token is not valid.
@@ -4305,7 +5139,7 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt
func (c *KMS) ReEncrypt(input *ReEncryptInput) (*ReEncryptOutput, error) {
@@ -4427,7 +5261,7 @@ func (c *KMS) RetireGrantRequest(input *RetireGrantInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrant
func (c *KMS) RetireGrant(input *RetireGrantInput) (*RetireGrantOutput, error) {
@@ -4535,7 +5369,7 @@ func (c *KMS) RevokeGrantRequest(input *RevokeGrantInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrant
func (c *KMS) RevokeGrant(input *RevokeGrantInput) (*RevokeGrantOutput, error) {
@@ -4629,8 +5463,8 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req *
// Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html)
// in the AWS Key Management Service Developer Guide.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4663,7 +5497,7 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req *
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletion
func (c *KMS) ScheduleKeyDeletion(input *ScheduleKeyDeletionInput) (*ScheduleKeyDeletionOutput, error) {
@@ -4687,6 +5521,156 @@ func (c *KMS) ScheduleKeyDeletionWithContext(ctx aws.Context, input *ScheduleKey
return out, req.Send()
}
+const opSign = "Sign"
+
+// SignRequest generates a "aws/request.Request" representing the
+// client's request for the Sign operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See Sign for more information on using the Sign
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the SignRequest method.
+// req, resp := client.SignRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign
+func (c *KMS) SignRequest(input *SignInput) (req *request.Request, output *SignOutput) {
+ op := &request.Operation{
+ Name: opSign,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &SignInput{}
+ }
+
+ output = &SignOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// Sign API operation for AWS Key Management Service.
+//
+// Creates a digital signature (https://en.wikipedia.org/wiki/Digital_signature)
+// for a message or message digest by using the private key in an asymmetric
+// CMK. To verify the signature, use the Verify operation, or use the public
+// key in the same asymmetric CMK outside of AWS KMS. For information about
+// symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Digital signatures are generated and verified by using asymmetric key pair,
+// such as an RSA or ECC pair that is represented by an asymmetric customer
+// master key (CMK). The key owner (or an authorized user) uses their private
+// key to sign a message. Anyone with the public key can verify that the message
+// was signed with that particular private key and that the message hasn't changed
+// since it was signed.
+//
+// To use the Sign operation, provide the following information:
+//
+// * Use the KeyId parameter to identify an asymmetric CMK with a KeyUsage
+// value of SIGN_VERIFY. To get the KeyUsage value of a CMK, use the DescribeKey
+// operation. The caller must have kms:Sign permission on the CMK.
+//
+// * Use the Message parameter to specify the message or message digest to
+// sign. You can submit messages of up to 4096 bytes. To sign a larger message,
+// generate a hash digest of the message, and then provide the hash digest
+// in the Message parameter. To indicate whether the message is a full message
+// or a digest, use the MessageType parameter.
+//
+// * Choose a signing algorithm that is compatible with the CMK.
+//
+// When signing a message, be sure to record the CMK and the signing algorithm.
+// This information is required to verify the signature.
+//
+// To verify the signature that this operation generates, use the Verify operation.
+// Or use the GetPublicKey operation to download the public key and then use
+// the public key to verify the signature outside of AWS KMS.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Key Management Service's
+// API operation Sign for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNotFoundException "NotFoundException"
+// The request was rejected because the specified entity or resource could not
+// be found.
+//
+// * ErrCodeDisabledException "DisabledException"
+// The request was rejected because the specified CMK is not enabled.
+//
+// * ErrCodeKeyUnavailableException "KeyUnavailableException"
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
+// The system timed out while trying to fulfill the request. The request can
+// be retried.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
+//
+// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
+// The request was rejected because the specified grant token is not valid.
+//
+// * ErrCodeInternalException "KMSInternalException"
+// The request was rejected because an internal exception occurred. The request
+// can be retried.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign
+func (c *KMS) Sign(input *SignInput) (*SignOutput, error) {
+ req, out := c.SignRequest(input)
+ return out, req.Send()
+}
+
+// SignWithContext is the same as Sign with the addition of
+// the ability to pass a context and additional request options.
+//
+// See Sign for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *KMS) SignWithContext(ctx aws.Context, input *SignInput, opts ...request.Option) (*SignOutput, error) {
+ req, out := c.SignRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opTagResource = "TagResource"
// TagResourceRequest generates a "aws/request.Request" representing the
@@ -4745,8 +5729,8 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request,
// User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
// in the AWS Billing and Cost Management User Guide.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4775,7 +5759,7 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeLimitExceededException "LimitExceededException"
// The request was rejected because a limit was exceeded. For more information,
@@ -4858,8 +5842,8 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ
// To remove a tag, specify the tag key. To change the tag value of an existing
// tag key, use TagResource.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4888,7 +5872,7 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// * ErrCodeTagException "TagException"
// The request was rejected because one or more tags are not valid.
@@ -4960,27 +5944,28 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request,
// UpdateAlias API operation for AWS Key Management Service.
//
-// Associates an existing alias with a different customer master key (CMK).
-// Each CMK can have multiple aliases, but the aliases must be unique within
-// the account and region. You cannot perform this operation on an alias in
-// a different AWS account.
+// Associates an existing AWS KMS alias with a different customer master key
+// (CMK). Each alias is associated with only one CMK at a time, although a CMK
+// can have multiple aliases. The alias and the CMK must be in the same AWS
+// account and region. You cannot perform this operation on an alias in a different
+// AWS account.
+//
+// The current and new CMK must be the same type (both symmetric or both asymmetric),
+// and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This
+// restriction prevents errors in code that uses aliases. If you must assign
+// an alias to a different type of CMK, use DeleteAlias to delete the old alias
+// and CreateAlias to create a new alias.
//
-// This operation works only on existing aliases. To change the alias of a CMK
-// to a new value, use CreateAlias to create a new alias and DeleteAlias to
-// delete the old alias.
+// You cannot use UpdateAlias to change an alias name. To change an alias name,
+// use DeleteAlias to delete the old alias and CreateAlias to create a new alias.
//
// Because an alias is not a property of a CMK, you can create, update, and
// delete the aliases of a CMK without affecting the CMK. Also, aliases do not
// appear in the response from the DescribeKey operation. To get the aliases
// of all CMKs in the account, use the ListAliases operation.
//
-// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias.
-// It can contain only alphanumeric characters, forward slashes (/), underscores
-// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/
-// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).
-//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -5009,7 +5994,7 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request,
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateAlias
func (c *KMS) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) {
@@ -5125,6 +6110,11 @@ func (c *KMS) UpdateCustomKeyStoreRequest(input *UpdateCustomKeyStoreInput) (req
// The request was rejected because AWS KMS cannot find a custom key store with
// the specified key store name or ID.
//
+// * ErrCodeCustomKeyStoreNameInUseException "CustomKeyStoreNameInUseException"
+// The request was rejected because the specified custom key store name is already
+// assigned to another custom key store in the account. Try again with a custom
+// key store name that is unique in the account.
+//
// * ErrCodeCloudHsmClusterNotFoundException "CloudHsmClusterNotFoundException"
// The request was rejected because AWS KMS cannot find the AWS CloudHSM cluster
// with the specified cluster ID. Retry the request with a different cluster
@@ -5278,8 +6268,8 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req
//
// You cannot perform this operation on a CMK in a different AWS account.
//
-// The result of this operation varies with the key state of the CMK. For details,
-// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -5312,7 +6302,7 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
-// in the AWS Key Management Service Developer Guide.
+// in the AWS Key Management Service Developer Guide .
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateKeyDescription
func (c *KMS) UpdateKeyDescription(input *UpdateKeyDescriptionInput) (*UpdateKeyDescriptionOutput, error) {
@@ -5336,6 +6326,151 @@ func (c *KMS) UpdateKeyDescriptionWithContext(ctx aws.Context, input *UpdateKeyD
return out, req.Send()
}
+const opVerify = "Verify"
+
+// VerifyRequest generates a "aws/request.Request" representing the
+// client's request for the Verify operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See Verify for more information on using the Verify
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the VerifyRequest method.
+// req, resp := client.VerifyRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify
+func (c *KMS) VerifyRequest(input *VerifyInput) (req *request.Request, output *VerifyOutput) {
+ op := &request.Operation{
+ Name: opVerify,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &VerifyInput{}
+ }
+
+ output = &VerifyOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// Verify API operation for AWS Key Management Service.
+//
+// Verifies a digital signature that was generated by the Sign operation. This
+// operation requires an asymmetric CMK with a KeyUsage value of SIGN_VERIFY.
+//
+// Verification confirms that an authorized user signed the message with the
+// specified key and signing algorithm, and the message hasn't changed since
+// it was signed. A digital signature is generated by using the private key
+// in an asymmetric CMK. The signature is verified by using the public key in
+// the same asymmetric CMK. For information about symmetric and asymmetric CMKs,
+// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// To verify a digital signature, you can use the Verify operation. Specify
+// the same asymmetric CMK that was used by the Sign operation to generate the
+// digital signature.
+//
+// You can also verify the digital signature by using the public key of the
+// CMK outside of AWS KMS. Use the GetPublicKey operation to download the public
+// key in the asymmetric CMK and then use the public key to verify the signature
+// outside of AWS KMS.
+//
+// The advantage of using the Verify operation is that it is performed within
+// AWS KMS. As a result, it's easy to call, the operation is performed within
+// the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy
+// and IAM policy to determine who is authorized to use the CMK to verify signatures.
+//
+// The result of the Verify operation, which is represented by its HTTP status
+// code, does not indicate whether the signature verification succeeded or failed.
+// To determine whether the signature was verified, see the SignatureValid field
+// in the response.
+//
+// The CMK that you use for this operation must be in a compatible key state.
+// For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
+// in the AWS Key Management Service Developer Guide.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for AWS Key Management Service's
+// API operation Verify for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNotFoundException "NotFoundException"
+// The request was rejected because the specified entity or resource could not
+// be found.
+//
+// * ErrCodeDisabledException "DisabledException"
+// The request was rejected because the specified CMK is not enabled.
+//
+// * ErrCodeKeyUnavailableException "KeyUnavailableException"
+// The request was rejected because the specified CMK was not available. You
+// can retry the request.
+//
+// * ErrCodeDependencyTimeoutException "DependencyTimeoutException"
+// The system timed out while trying to fulfill the request. The request can
+// be retried.
+//
+// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException"
+// The request was rejected for one of the following reasons:
+//
+// * The KeyUsage value of the CMK is incompatible with the API operation.
+//
+// * The encryption algorithm or signing algorithm specified for the operation
+// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+//
+// For encrypting, decrypting, re-encrypting, and generating data keys, the
+// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+//
+// To find the encryption or signing algorithms supported for a particular CMK,
+// use the DescribeKey operation.
+//
+// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException"
+// The request was rejected because the specified grant token is not valid.
+//
+// * ErrCodeInternalException "KMSInternalException"
+// The request was rejected because an internal exception occurred. The request
+// can be retried.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify
+func (c *KMS) Verify(input *VerifyInput) (*VerifyOutput, error) {
+ req, out := c.VerifyRequest(input)
+ return out, req.Send()
+}
+
+// VerifyWithContext is the same as Verify with the addition of
+// the ability to pass a context and additional request options.
+//
+// See Verify for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *KMS) VerifyWithContext(ctx aws.Context, input *VerifyInput, opts ...request.Option) (*VerifyOutput, error) {
+ req, out := c.VerifyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
// Contains information about an alias.
type AliasListEntry struct {
_ struct{} `type:"structure"`
@@ -5933,6 +7068,9 @@ type CreateKeyInput struct {
// the custom key store must have at least two active HSMs, each in a different
// Availability Zone in the Region.
//
+ // This parameter is valid only for symmetric CMKs. You cannot create an asymmetric
+ // CMK in a custom key store.
+ //
// To find the ID of a custom key store, use the DescribeCustomKeyStores operation.
//
// The response includes the custom key store ID and the ID of the AWS CloudHSM
@@ -5943,33 +7081,69 @@ type CreateKeyInput struct {
// of AWS KMS with the isolation and control of a single-tenant key store.
CustomKeyStoreId *string `min:"1" type:"string"`
+ // Specifies the type of CMK to create. The CustomerMasterKeySpec determines
+ // whether the CMK contains a symmetric key or an asymmetric key pair. It also
+ // determines the encryption algorithms or signing algorithms that the CMK supports.
+ // You can't change the CustomerMasterKeySpec after the CMK is created. To further
+ // restrict the algorithms that can be used with the CMK, use its key policy
+ // or IAM policy.
+ //
+ // For help with choosing a key spec for your CMK, see Selecting a Customer
+ // Master Key Spec (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#cmk-key-spec)
+ // in the AWS Key Management Service Developer Guide.
+ //
+ // The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric
+ // key.
+ //
+ // AWS KMS supports the following key specs for CMKs:
+ //
+ // * Symmetric key (default) SYMMETRIC_DEFAULT (AES-256-GCM)
+ //
+ // * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096
+ //
+ // * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1)
+ // ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1)
+ //
+ // * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1),
+ // commonly used for cryptocurrencies.
+ CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"`
+
// A description of the CMK.
//
// Use a description that helps you decide whether the CMK is appropriate for
// a task.
Description *string `type:"string"`
- // The cryptographic operations for which you can use the CMK. The only valid
- // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and
- // decrypt data.
+ // Determines the cryptographic operations for which you can use the CMK. The
+ // default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric
+ // CMKs. You can't change the KeyUsage value after the CMK is created.
+ //
+ // Select only one valid value.
+ //
+ // * For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT.
+ //
+ // * For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or
+ // SIGN_VERIFY.
+ //
+ // * For asymmetric CMKs with ECC key material, specify SIGN_VERIFY.
KeyUsage *string `type:"string" enum:"KeyUsageType"`
// The source of the key material for the CMK. You cannot change the origin
- // after you create the CMK.
- //
- // The default is AWS_KMS, which means AWS KMS creates the key material in its
- // own key store.
+ // after you create the CMK. The default is AWS_KMS, which means AWS KMS creates
+ // the key material.
//
// When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material
// so that you can import key material from your existing key management infrastructure.
// For more information about importing key material into AWS KMS, see Importing
// Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
- // in the AWS Key Management Service Developer Guide.
+ // in the AWS Key Management Service Developer Guide. This value is valid only
+ // for symmetric CMKs.
//
// When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS
// KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html)
// and creates its key material in the associated AWS CloudHSM cluster. You
// must also use the CustomKeyStoreId parameter to identify the custom key store.
+ // This value is valid only for symmetric CMKs.
Origin *string `type:"string" enum:"OriginType"`
// The key policy to attach to the CMK.
@@ -5999,11 +7173,16 @@ type CreateKeyInput struct {
// The key policy size limit is 32 kilobytes (32768 bytes).
Policy *string `min:"1" type:"string"`
- // One or more tags. Each tag consists of a tag key and a tag value. Tag keys
- // and tag values are both required, but tag values can be empty (null) strings.
+ // One or more tags. Each tag consists of a tag key and a tag value. Both the
+ // tag key and the tag value are required, but the tag value can be an empty
+ // (null) string.
//
- // Use this parameter to tag the CMK when it is created. Alternately, you can
- // omit this parameter and instead tag the CMK after it is created using TagResource.
+ // When you add tags to an AWS resource, AWS generates a cost allocation report
+ // with usage and costs aggregated by tags. For information about adding, changing,
+ // deleting and listing tags for CMKs, see Tagging Keys (https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html).
+ //
+ // Use this parameter to tag the CMK when it is created. To add tags to an existing
+ // CMK, use the TagResource operation.
Tags []*Tag `type:"list"`
}
@@ -6055,6 +7234,12 @@ func (s *CreateKeyInput) SetCustomKeyStoreId(v string) *CreateKeyInput {
return s
}
+// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value.
+func (s *CreateKeyInput) SetCustomerMasterKeySpec(v string) *CreateKeyInput {
+ s.CustomerMasterKeySpec = &v
+ return s
+}
+
// SetDescription sets the Description field's value.
func (s *CreateKeyInput) SetDescription(v string) *CreateKeyInput {
s.Description = &v
@@ -6241,9 +7426,28 @@ type DecryptInput struct {
// CiphertextBlob is a required field
CiphertextBlob []byte `min:"1" type:"blob" required:"true"`
- // The encryption context. If this was specified in the Encrypt function, it
- // must be specified here or the decryption operation will fail. For more information,
- // see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context).
+ // Specifies the encryption algorithm that will be used to decrypt the ciphertext.
+ // Specify the same algorithm that was used to encrypt the data. If you specify
+ // a different algorithm, the Decrypt operation fails.
+ //
+ // This parameter is required only when the ciphertext was encrypted under an
+ // asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only
+ // supported algorithm that is valid for symmetric CMKs.
+ EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
+ // Specifies the encryption context to use when decrypting the data. An encryption
+ // context is valid only for cryptographic operations with a symmetric CMK.
+ // The standard asymmetric encryption algorithms that AWS KMS uses do not support
+ // an encryption context.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
EncryptionContext map[string]*string `type:"map"`
// A list of grant tokens.
@@ -6251,6 +7455,35 @@ type DecryptInput struct {
// For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
// in the AWS Key Management Service Developer Guide.
GrantTokens []*string `type:"list"`
+
+ // Specifies the customer master key (CMK) that AWS KMS will use to decrypt
+ // the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext.
+ //
+ // If you specify a KeyId value, the Decrypt operation succeeds only if the
+ // specified CMK was used to encrypt the ciphertext.
+ //
+ // This parameter is required only when the ciphertext was encrypted under an
+ // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the
+ // ciphertext blob to determine which CMK was used to encrypt the ciphertext.
+ // However, you can use this parameter to ensure that a particular CMK (of any
+ // kind) is used to decrypt the ciphertext.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/".
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ KeyId *string `min:"1" type:"string"`
}
// String returns the string representation
@@ -6272,6 +7505,9 @@ func (s *DecryptInput) Validate() error {
if s.CiphertextBlob != nil && len(s.CiphertextBlob) < 1 {
invalidParams.Add(request.NewErrParamMinLen("CiphertextBlob", 1))
}
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -6285,6 +7521,12 @@ func (s *DecryptInput) SetCiphertextBlob(v []byte) *DecryptInput {
return s
}
+// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value.
+func (s *DecryptInput) SetEncryptionAlgorithm(v string) *DecryptInput {
+ s.EncryptionAlgorithm = &v
+ return s
+}
+
// SetEncryptionContext sets the EncryptionContext field's value.
func (s *DecryptInput) SetEncryptionContext(v map[string]*string) *DecryptInput {
s.EncryptionContext = v
@@ -6297,15 +7539,23 @@ func (s *DecryptInput) SetGrantTokens(v []*string) *DecryptInput {
return s
}
+// SetKeyId sets the KeyId field's value.
+func (s *DecryptInput) SetKeyId(v string) *DecryptInput {
+ s.KeyId = &v
+ return s
+}
+
type DecryptOutput struct {
_ struct{} `type:"structure"`
- // ARN of the key used to perform the decryption. This value is returned if
- // no errors are encountered during the operation.
+ // The encryption algorithm that was used to decrypt the ciphertext.
+ EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
+ // The ARN of the customer master key that was used to perform the decryption.
KeyId *string `min:"1" type:"string"`
// Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// Plaintext is automatically base64 encoded/decoded by the SDK.
Plaintext []byte `min:"1" type:"blob" sensitive:"true"`
@@ -6321,6 +7571,12 @@ func (s DecryptOutput) GoString() string {
return s.String()
}
+// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value.
+func (s *DecryptOutput) SetEncryptionAlgorithm(v string) *DecryptOutput {
+ s.EncryptionAlgorithm = &v
+ return s
+}
+
// SetKeyId sets the KeyId field's value.
func (s *DecryptOutput) SetKeyId(v string) *DecryptOutput {
s.KeyId = &v
@@ -6809,7 +8065,10 @@ func (s DisableKeyOutput) GoString() string {
type DisableKeyRotationInput struct {
_ struct{} `type:"structure"`
- // A unique identifier for the customer master key (CMK).
+ // Identifies a symmetric customer master key (CMK). You cannot enable automatic
+ // rotation of asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks),
+ // CMKs with imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html),
+ // or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
//
// Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
//
@@ -6995,7 +8254,9 @@ func (s EnableKeyOutput) GoString() string {
type EnableKeyRotationInput struct {
_ struct{} `type:"structure"`
- // A unique identifier for the customer master key (CMK).
+ // Identifies a symmetric customer master key (CMK). You cannot enable automatic
+ // rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in
+ // a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
//
// Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
//
@@ -7060,10 +8321,27 @@ func (s EnableKeyRotationOutput) GoString() string {
type EncryptInput struct {
_ struct{} `type:"structure"`
- // Name-value pair that specifies the encryption context to be used for authenticated
- // encryption. If used here, the same value must be supplied to the Decrypt
- // API or decryption will fail. For more information, see Encryption Context
- // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context).
+ // Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext
+ // message. The algorithm must be compatible with the CMK that you specify.
+ //
+ // This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT,
+ // is the algorithm used for symmetric CMKs. If you are using an asymmetric
+ // CMK, we recommend RSAES_OAEP_SHA_256.
+ EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
+ // Specifies the encryption context that will be used to encrypt the data. An
+ // encryption context is valid only for cryptographic operations with a symmetric
+ // CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not
+ // support an encryption context.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
EncryptionContext map[string]*string `type:"map"`
// A list of grant tokens.
@@ -7134,6 +8412,12 @@ func (s *EncryptInput) Validate() error {
return nil
}
+// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value.
+func (s *EncryptInput) SetEncryptionAlgorithm(v string) *EncryptInput {
+ s.EncryptionAlgorithm = &v
+ return s
+}
+
// SetEncryptionContext sets the EncryptionContext field's value.
func (s *EncryptInput) SetEncryptionContext(v map[string]*string) *EncryptInput {
s.EncryptionContext = v
@@ -7162,11 +8446,14 @@ type EncryptOutput struct {
_ struct{} `type:"structure"`
// The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// CiphertextBlob is automatically base64 encoded/decoded by the SDK.
CiphertextBlob []byte `min:"1" type:"blob"`
+ // The encryption algorithm that was used to encrypt the plaintext.
+ EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
// The ID of the key used during encryption.
KeyId *string `min:"1" type:"string"`
}
@@ -7187,6 +8474,12 @@ func (s *EncryptOutput) SetCiphertextBlob(v []byte) *EncryptOutput {
return s
}
+// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value.
+func (s *EncryptOutput) SetEncryptionAlgorithm(v string) *EncryptOutput {
+ s.EncryptionAlgorithm = &v
+ return s
+}
+
// SetKeyId sets the KeyId field's value.
func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput {
s.KeyId = &v
@@ -7196,7 +8489,14 @@ func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput {
type GenerateDataKeyInput struct {
_ struct{} `type:"structure"`
- // A set of key-value pairs that represents additional authenticated data.
+ // Specifies the encryption context that will be used when encrypting the data
+ // key.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
//
// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
// in the AWS Key Management Service Developer Guide.
@@ -7208,7 +8508,7 @@ type GenerateDataKeyInput struct {
// in the AWS Key Management Service Developer Guide.
GrantTokens []*string `type:"list"`
- // An identifier for the CMK that encrypts the data key.
+ // Identifies the symmetric CMK that encrypts the data key.
//
// To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
// or alias ARN. When using an alias name, prefix it with "alias/". To specify
@@ -7230,14 +8530,19 @@ type GenerateDataKeyInput struct {
// KeyId is a required field
KeyId *string `min:"1" type:"string" required:"true"`
- // The length of the data key. Use AES_128 to generate a 128-bit symmetric key,
- // or AES_256 to generate a 256-bit symmetric key.
+ // Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric
+ // key, or AES_256 to generate a 256-bit symmetric key.
+ //
+ // You must specify either the KeySpec or the NumberOfBytes parameter (but not
+ // both) in every GenerateDataKey request.
KeySpec *string `type:"string" enum:"DataKeySpec"`
- // The length of the data key in bytes. For example, use the value 64 to generate
- // a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit
- // and 256-bit symmetric keys), we recommend that you use the KeySpec field
- // instead of this one.
+ // Specifies the length of the data key in bytes. For example, use the value
+ // 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte)
+ // and 256-bit (32-byte) data keys, use the KeySpec parameter.
+ //
+ // You must specify either the KeySpec or the NumberOfBytes parameter (but not
+ // both) in every GenerateDataKey request.
NumberOfBytes *int64 `min:"1" type:"integer"`
}
@@ -7304,7 +8609,7 @@ type GenerateDataKeyOutput struct {
_ struct{} `type:"structure"`
// The encrypted copy of the data key. When you use the HTTP API or the AWS
- // CLI, the value is Base64-encoded. Otherwise, it is not encoded.
+ // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// CiphertextBlob is automatically base64 encoded/decoded by the SDK.
CiphertextBlob []byte `min:"1" type:"blob"`
@@ -7313,8 +8618,9 @@ type GenerateDataKeyOutput struct {
KeyId *string `min:"1" type:"string"`
// The plaintext data key. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded. Use this data key to encrypt
- // your data outside of KMS. Then, remove it from memory as soon as possible.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key
+ // to encrypt your data outside of KMS. Then, remove it from memory as soon
+ // as possible.
//
// Plaintext is automatically base64 encoded/decoded by the SDK.
Plaintext []byte `min:"1" type:"blob" sensitive:"true"`
@@ -7348,10 +8654,373 @@ func (s *GenerateDataKeyOutput) SetPlaintext(v []byte) *GenerateDataKeyOutput {
return s
}
+type GenerateDataKeyPairInput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the encryption context that will be used when encrypting the private
+ // key in the data key pair.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
+ EncryptionContext map[string]*string `type:"map"`
+
+ // A list of grant tokens.
+ //
+ // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
+ // in the AWS Key Management Service Developer Guide.
+ GrantTokens []*string `type:"list"`
+
+ // Specifies the symmetric CMK that encrypts the private key in the data key
+ // pair. You cannot specify an asymmetric CMKs.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/". To specify
+ // a CMK in a different AWS account, you must use the key ARN or alias ARN.
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ //
+ // KeyId is a required field
+ KeyId *string `min:"1" type:"string" required:"true"`
+
+ // Determines the type of data key pair that is generated.
+ //
+ // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt
+ // and decrypt or to sign and verify (but not both), and the rule that permits
+ // you to use ECC CMKs only to sign and verify, are not effective outside of
+ // AWS KMS.
+ //
+ // KeyPairSpec is a required field
+ KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"`
+}
+
+// String returns the string representation
+func (s GenerateDataKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GenerateDataKeyPairInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GenerateDataKeyPairInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairInput"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
+ if s.KeyPairSpec == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyPairSpec"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEncryptionContext sets the EncryptionContext field's value.
+func (s *GenerateDataKeyPairInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairInput {
+ s.EncryptionContext = v
+ return s
+}
+
+// SetGrantTokens sets the GrantTokens field's value.
+func (s *GenerateDataKeyPairInput) SetGrantTokens(v []*string) *GenerateDataKeyPairInput {
+ s.GrantTokens = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GenerateDataKeyPairInput) SetKeyId(v string) *GenerateDataKeyPairInput {
+ s.KeyId = &v
+ return s
+}
+
+// SetKeyPairSpec sets the KeyPairSpec field's value.
+func (s *GenerateDataKeyPairInput) SetKeyPairSpec(v string) *GenerateDataKeyPairInput {
+ s.KeyPairSpec = &v
+ return s
+}
+
+type GenerateDataKeyPairOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The identifier of the CMK that encrypted the private key.
+ KeyId *string `min:"1" type:"string"`
+
+ // The type of data key pair that was generated.
+ KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"`
+
+ // The encrypted copy of the private key. When you use the HTTP API or the AWS
+ // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
+ //
+ // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK.
+ PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"`
+
+ // The plaintext copy of the private key. When you use the HTTP API or the AWS
+ // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
+ //
+ // PrivateKeyPlaintext is automatically base64 encoded/decoded by the SDK.
+ PrivateKeyPlaintext []byte `min:"1" type:"blob" sensitive:"true"`
+
+ // The public key (in plaintext).
+ //
+ // PublicKey is automatically base64 encoded/decoded by the SDK.
+ PublicKey []byte `min:"1" type:"blob"`
+}
+
+// String returns the string representation
+func (s GenerateDataKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GenerateDataKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GenerateDataKeyPairOutput) SetKeyId(v string) *GenerateDataKeyPairOutput {
+ s.KeyId = &v
+ return s
+}
+
+// SetKeyPairSpec sets the KeyPairSpec field's value.
+func (s *GenerateDataKeyPairOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairOutput {
+ s.KeyPairSpec = &v
+ return s
+}
+
+// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value.
+func (s *GenerateDataKeyPairOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairOutput {
+ s.PrivateKeyCiphertextBlob = v
+ return s
+}
+
+// SetPrivateKeyPlaintext sets the PrivateKeyPlaintext field's value.
+func (s *GenerateDataKeyPairOutput) SetPrivateKeyPlaintext(v []byte) *GenerateDataKeyPairOutput {
+ s.PrivateKeyPlaintext = v
+ return s
+}
+
+// SetPublicKey sets the PublicKey field's value.
+func (s *GenerateDataKeyPairOutput) SetPublicKey(v []byte) *GenerateDataKeyPairOutput {
+ s.PublicKey = v
+ return s
+}
+
+type GenerateDataKeyPairWithoutPlaintextInput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the encryption context that will be used when encrypting the private
+ // key in the data key pair.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
+ EncryptionContext map[string]*string `type:"map"`
+
+ // A list of grant tokens.
+ //
+ // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
+ // in the AWS Key Management Service Developer Guide.
+ GrantTokens []*string `type:"list"`
+
+ // Specifies the CMK that encrypts the private key in the data key pair. You
+ // must specify a symmetric CMK. You cannot use an asymmetric CMK.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/".
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ //
+ // KeyId is a required field
+ KeyId *string `min:"1" type:"string" required:"true"`
+
+ // Determines the type of data key pair that is generated.
+ //
+ // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt
+ // and decrypt or to sign and verify (but not both), and the rule that permits
+ // you to use ECC CMKs only to sign and verify, are not effective outside of
+ // AWS KMS.
+ //
+ // KeyPairSpec is a required field
+ KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"`
+}
+
+// String returns the string representation
+func (s GenerateDataKeyPairWithoutPlaintextInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GenerateDataKeyPairWithoutPlaintextInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GenerateDataKeyPairWithoutPlaintextInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairWithoutPlaintextInput"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
+ if s.KeyPairSpec == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyPairSpec"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetEncryptionContext sets the EncryptionContext field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairWithoutPlaintextInput {
+ s.EncryptionContext = v
+ return s
+}
+
+// SetGrantTokens sets the GrantTokens field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextInput) SetGrantTokens(v []*string) *GenerateDataKeyPairWithoutPlaintextInput {
+ s.GrantTokens = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextInput {
+ s.KeyId = &v
+ return s
+}
+
+// SetKeyPairSpec sets the KeyPairSpec field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextInput {
+ s.KeyPairSpec = &v
+ return s
+}
+
+type GenerateDataKeyPairWithoutPlaintextOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies the CMK that encrypted the private key in the data key pair. You
+ // must specify a symmetric CMK. You cannot use an asymmetric CMK.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/".
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ KeyId *string `min:"1" type:"string"`
+
+ // The type of data key pair that was generated.
+ KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"`
+
+ // The encrypted copy of the private key. When you use the HTTP API or the AWS
+ // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.
+ //
+ // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK.
+ PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"`
+
+ // The public key (in plaintext).
+ //
+ // PublicKey is automatically base64 encoded/decoded by the SDK.
+ PublicKey []byte `min:"1" type:"blob"`
+}
+
+// String returns the string representation
+func (s GenerateDataKeyPairWithoutPlaintextOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GenerateDataKeyPairWithoutPlaintextOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextOutput {
+ s.KeyId = &v
+ return s
+}
+
+// SetKeyPairSpec sets the KeyPairSpec field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextOutput {
+ s.KeyPairSpec = &v
+ return s
+}
+
+// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput {
+ s.PrivateKeyCiphertextBlob = v
+ return s
+}
+
+// SetPublicKey sets the PublicKey field's value.
+func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPublicKey(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput {
+ s.PublicKey = v
+ return s
+}
+
type GenerateDataKeyWithoutPlaintextInput struct {
_ struct{} `type:"structure"`
- // A set of key-value pairs that represents additional authenticated data.
+ // Specifies the encryption context that will be used when encrypting the data
+ // key.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
//
// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
// in the AWS Key Management Service Developer Guide.
@@ -7363,7 +9032,8 @@ type GenerateDataKeyWithoutPlaintextInput struct {
// in the AWS Key Management Service Developer Guide.
GrantTokens []*string `type:"list"`
- // The identifier of the customer master key (CMK) that encrypts the data key.
+ // The identifier of the symmetric customer master key (CMK) that encrypts the
+ // data key.
//
// To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
// or alias ARN. When using an alias name, prefix it with "alias/". To specify
@@ -7459,7 +9129,7 @@ type GenerateDataKeyWithoutPlaintextOutput struct {
_ struct{} `type:"structure"`
// The encrypted data key. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// CiphertextBlob is automatically base64 encoded/decoded by the SDK.
CiphertextBlob []byte `min:"1" type:"blob"`
@@ -7544,7 +9214,7 @@ type GenerateRandomOutput struct {
_ struct{} `type:"structure"`
// The random byte string. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// Plaintext is automatically base64 encoded/decoded by the SDK.
Plaintext []byte `min:"1" type:"blob" sensitive:"true"`
@@ -7736,8 +9406,8 @@ func (s *GetKeyRotationStatusOutput) SetKeyRotationEnabled(v bool) *GetKeyRotati
type GetParametersForImportInput struct {
_ struct{} `type:"structure"`
- // The identifier of the CMK into which you will import key material. The CMK's
- // Origin must be EXTERNAL.
+ // The identifier of the symmetric CMK into which you will import key material.
+ // The Origin of the CMK must be EXTERNAL.
//
// Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
//
@@ -7875,6 +9545,164 @@ func (s *GetParametersForImportOutput) SetPublicKey(v []byte) *GetParametersForI
return s
}
+type GetPublicKeyInput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grant tokens.
+ //
+ // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
+ // in the AWS Key Management Service Developer Guide.
+ GrantTokens []*string `type:"list"`
+
+ // Identifies the asymmetric CMK that includes the public key.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/". To specify
+ // a CMK in a different AWS account, you must use the key ARN or alias ARN.
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ //
+ // KeyId is a required field
+ KeyId *string `min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetPublicKeyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPublicKeyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetPublicKeyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrantTokens sets the GrantTokens field's value.
+func (s *GetPublicKeyInput) SetGrantTokens(v []*string) *GetPublicKeyInput {
+ s.GrantTokens = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GetPublicKeyInput) SetKeyId(v string) *GetPublicKeyInput {
+ s.KeyId = &v
+ return s
+}
+
+type GetPublicKeyOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The type of the of the public key that was downloaded.
+ CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"`
+
+ // The encryption algorithms that AWS KMS supports for this key.
+ //
+ // This information is critical. If a public key encrypts data outside of AWS
+ // KMS by using an unsupported encryption algorithm, the ciphertext cannot be
+ // decrypted.
+ //
+ // This field appears in the response only when the KeyUsage of the public key
+ // is ENCRYPT_DECRYPT.
+ EncryptionAlgorithms []*string `type:"list"`
+
+ // The identifier of the asymmetric CMK from which the public key was downloaded.
+ KeyId *string `min:"1" type:"string"`
+
+ // The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or
+ // SIGN_VERIFY.
+ //
+ // This information is critical. If a public key with SIGN_VERIFY key usage
+ // encrypts data outside of AWS KMS, the ciphertext cannot be decrypted.
+ KeyUsage *string `type:"string" enum:"KeyUsageType"`
+
+ // The exported public key.
+ //
+ // This value is returned as a binary Distinguished Encoding Rules (https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf)
+ // (DER)-encoded object. To decode it, use an ASN.1 parsing tool, such as OpenSSL
+ // asn1parse (https://www.openssl.org/docs/man1.0.2/man1/asn1parse.html).
+ //
+ // PublicKey is automatically base64 encoded/decoded by the SDK.
+ PublicKey []byte `min:"1" type:"blob"`
+
+ // The signing algorithms that AWS KMS supports for this key.
+ //
+ // This field appears in the response only when the KeyUsage of the public key
+ // is SIGN_VERIFY.
+ SigningAlgorithms []*string `type:"list"`
+}
+
+// String returns the string representation
+func (s GetPublicKeyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPublicKeyOutput) GoString() string {
+ return s.String()
+}
+
+// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value.
+func (s *GetPublicKeyOutput) SetCustomerMasterKeySpec(v string) *GetPublicKeyOutput {
+ s.CustomerMasterKeySpec = &v
+ return s
+}
+
+// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value.
+func (s *GetPublicKeyOutput) SetEncryptionAlgorithms(v []*string) *GetPublicKeyOutput {
+ s.EncryptionAlgorithms = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *GetPublicKeyOutput) SetKeyId(v string) *GetPublicKeyOutput {
+ s.KeyId = &v
+ return s
+}
+
+// SetKeyUsage sets the KeyUsage field's value.
+func (s *GetPublicKeyOutput) SetKeyUsage(v string) *GetPublicKeyOutput {
+ s.KeyUsage = &v
+ return s
+}
+
+// SetPublicKey sets the PublicKey field's value.
+func (s *GetPublicKeyOutput) SetPublicKey(v []byte) *GetPublicKeyOutput {
+ s.PublicKey = v
+ return s
+}
+
+// SetSigningAlgorithms sets the SigningAlgorithms field's value.
+func (s *GetPublicKeyOutput) SetSigningAlgorithms(v []*string) *GetPublicKeyOutput {
+ s.SigningAlgorithms = v
+ return s
+}
+
// Use this structure to allow cryptographic operations in the grant only when
// the operation request includes the specified encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context).
//
@@ -8047,9 +9875,10 @@ func (s *GrantListEntry) SetRetiringPrincipal(v string) *GrantListEntry {
type ImportKeyMaterialInput struct {
_ struct{} `type:"structure"`
- // The encrypted key material to import. It must be encrypted with the public
- // key that you received in the response to a previous GetParametersForImport
- // request, using the wrapping algorithm that you specified in that request.
+ // The encrypted key material to import. The key material must be encrypted
+ // with the public wrapping key that GetParametersForImport returned, using
+ // the wrapping algorithm that you specified in the same GetParametersForImport
+ // request.
//
// EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK.
//
@@ -8070,8 +9899,9 @@ type ImportKeyMaterialInput struct {
// ImportToken is a required field
ImportToken []byte `min:"1" type:"blob" required:"true"`
- // The identifier of the CMK to import the key material into. The CMK's Origin
- // must be EXTERNAL.
+ // The identifier of the symmetric CMK that receives the imported key material.
+ // The CMK's Origin must be EXTERNAL. This must be the same CMK specified in
+ // the KeyID parameter of the corresponding GetParametersForImport request.
//
// Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
//
@@ -8238,6 +10068,9 @@ type KeyMetadata struct {
// in a custom key store.
CustomKeyStoreId *string `min:"1" type:"string"`
+ // Describes the type of key material in the CMK.
+ CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"`
+
// The date and time after which AWS KMS deletes the CMK. This value is present
// only when KeyState is PendingDeletion.
DeletionDate *time.Time `type:"timestamp"`
@@ -8249,6 +10082,12 @@ type KeyMetadata struct {
// is true, otherwise it is false.
Enabled *bool `type:"boolean"`
+ // A list of encryption algorithms that the CMK supports. You cannot use the
+ // CMK with other encryption algorithms within AWS KMS.
+ //
+ // This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT.
+ EncryptionAlgorithms []*string `type:"list"`
+
// Specifies whether the CMK's key material expires. This value is present only
// when Origin is EXTERNAL, otherwise this value is omitted.
ExpirationModel *string `type:"string" enum:"ExpirationModelType"`
@@ -8271,9 +10110,7 @@ type KeyMetadata struct {
// in the AWS Key Management Service Developer Guide.
KeyState *string `type:"string" enum:"KeyState"`
- // The cryptographic operations for which you can use the CMK. The only valid
- // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and
- // decrypt data.
+ // The cryptographic operations for which you can use the CMK.
KeyUsage *string `type:"string" enum:"KeyUsageType"`
// The source of the CMK's key material. When this value is AWS_KMS, AWS KMS
@@ -8283,6 +10120,12 @@ type KeyMetadata struct {
// in the AWS CloudHSM cluster associated with a custom key store.
Origin *string `type:"string" enum:"OriginType"`
+ // A list of signing algorithms that the CMK supports. You cannot use the CMK
+ // with other signing algorithms within AWS KMS.
+ //
+ // This field appears only when the KeyUsage of the CMK is SIGN_VERIFY.
+ SigningAlgorithms []*string `type:"list"`
+
// The time at which the imported key material expires. When the key material
// expires, AWS KMS deletes the key material and the CMK becomes unusable. This
// value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel
@@ -8330,6 +10173,12 @@ func (s *KeyMetadata) SetCustomKeyStoreId(v string) *KeyMetadata {
return s
}
+// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value.
+func (s *KeyMetadata) SetCustomerMasterKeySpec(v string) *KeyMetadata {
+ s.CustomerMasterKeySpec = &v
+ return s
+}
+
// SetDeletionDate sets the DeletionDate field's value.
func (s *KeyMetadata) SetDeletionDate(v time.Time) *KeyMetadata {
s.DeletionDate = &v
@@ -8348,6 +10197,12 @@ func (s *KeyMetadata) SetEnabled(v bool) *KeyMetadata {
return s
}
+// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value.
+func (s *KeyMetadata) SetEncryptionAlgorithms(v []*string) *KeyMetadata {
+ s.EncryptionAlgorithms = v
+ return s
+}
+
// SetExpirationModel sets the ExpirationModel field's value.
func (s *KeyMetadata) SetExpirationModel(v string) *KeyMetadata {
s.ExpirationModel = &v
@@ -8384,6 +10239,12 @@ func (s *KeyMetadata) SetOrigin(v string) *KeyMetadata {
return s
}
+// SetSigningAlgorithms sets the SigningAlgorithms field's value.
+func (s *KeyMetadata) SetSigningAlgorithms(v []*string) *KeyMetadata {
+ s.SigningAlgorithms = v
+ return s
+}
+
// SetValidTo sets the ValidTo field's value.
func (s *KeyMetadata) SetValidTo(v time.Time) *KeyMetadata {
s.ValidTo = &v
@@ -9224,10 +11085,33 @@ type ReEncryptInput struct {
// CiphertextBlob is a required field
CiphertextBlob []byte `min:"1" type:"blob" required:"true"`
- // Encryption context to use when the data is reencrypted.
+ // Specifies the encryption algorithm that AWS KMS will use to reecrypt the
+ // data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents
+ // the encryption algorithm used for symmetric CMKs.
+ //
+ // This parameter is required only when the destination CMK is an asymmetric
+ // CMK.
+ DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
+ // Specifies that encryption context to use when the reencrypting the data.
+ //
+ // A destination encryption context is valid only when the destination CMK is
+ // a symmetric CMK. The standard ciphertext format for asymmetric CMKs does
+ // not include fields for metadata.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
DestinationEncryptionContext map[string]*string `type:"map"`
- // A unique identifier for the CMK that is used to reencrypt the data.
+ // A unique identifier for the CMK that is used to reencrypt the data. Specify
+ // a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To
+ // find the KeyUsage value of a CMK, use the DescribeKey operation.
//
// To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
// or alias ARN. When using an alias name, prefix it with "alias/". To specify
@@ -9255,9 +11139,58 @@ type ReEncryptInput struct {
// in the AWS Key Management Service Developer Guide.
GrantTokens []*string `type:"list"`
- // Encryption context used to encrypt and decrypt the data specified in the
- // CiphertextBlob parameter.
+ // Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext
+ // before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents
+ // the algorithm used for symmetric CMKs.
+ //
+ // Specify the same algorithm that was used to encrypt the ciphertext. If you
+ // specify a different algorithm, the decrypt attempt fails.
+ //
+ // This parameter is required only when the ciphertext was encrypted under an
+ // asymmetric CMK.
+ SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
+ // Specifies the encryption context to use to decrypt the ciphertext. Enter
+ // the same encryption context that was used to encrypt the ciphertext.
+ //
+ // An encryption context is a collection of non-secret key-value pairs that
+ // represents additional authenticated data. When you use an encryption context
+ // to encrypt data, you must specify the same (an exact case-sensitive match)
+ // encryption context to decrypt the data. An encryption context is optional
+ // when encrypting with a symmetric CMK, but it is highly recommended.
+ //
+ // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
+ // in the AWS Key Management Service Developer Guide.
SourceEncryptionContext map[string]*string `type:"map"`
+
+ // A unique identifier for the CMK that is used to decrypt the ciphertext before
+ // it reencrypts it using the destination CMK.
+ //
+ // This parameter is required only when the ciphertext was encrypted under an
+ // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the
+ // ciphertext blob to determine which CMK was used to encrypt the ciphertext.
+ // However, you can use this parameter to ensure that a particular CMK (of any
+ // kind) is used to decrypt the ciphertext before it is reencrypted.
+ //
+ // If you specify a KeyId value, the decrypt part of the ReEncrypt operation
+ // succeeds only if the specified CMK was used to encrypt the ciphertext.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/".
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ SourceKeyId *string `min:"1" type:"string"`
}
// String returns the string representation
@@ -9285,6 +11218,9 @@ func (s *ReEncryptInput) Validate() error {
if s.DestinationKeyId != nil && len(*s.DestinationKeyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("DestinationKeyId", 1))
}
+ if s.SourceKeyId != nil && len(*s.SourceKeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("SourceKeyId", 1))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -9298,6 +11234,12 @@ func (s *ReEncryptInput) SetCiphertextBlob(v []byte) *ReEncryptInput {
return s
}
+// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value.
+func (s *ReEncryptInput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptInput {
+ s.DestinationEncryptionAlgorithm = &v
+ return s
+}
+
// SetDestinationEncryptionContext sets the DestinationEncryptionContext field's value.
func (s *ReEncryptInput) SetDestinationEncryptionContext(v map[string]*string) *ReEncryptInput {
s.DestinationEncryptionContext = v
@@ -9316,24 +11258,43 @@ func (s *ReEncryptInput) SetGrantTokens(v []*string) *ReEncryptInput {
return s
}
+// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value.
+func (s *ReEncryptInput) SetSourceEncryptionAlgorithm(v string) *ReEncryptInput {
+ s.SourceEncryptionAlgorithm = &v
+ return s
+}
+
// SetSourceEncryptionContext sets the SourceEncryptionContext field's value.
func (s *ReEncryptInput) SetSourceEncryptionContext(v map[string]*string) *ReEncryptInput {
s.SourceEncryptionContext = v
return s
}
+// SetSourceKeyId sets the SourceKeyId field's value.
+func (s *ReEncryptInput) SetSourceKeyId(v string) *ReEncryptInput {
+ s.SourceKeyId = &v
+ return s
+}
+
type ReEncryptOutput struct {
_ struct{} `type:"structure"`
// The reencrypted data. When you use the HTTP API or the AWS CLI, the value
- // is Base64-encoded. Otherwise, it is not encoded.
+ // is Base64-encoded. Otherwise, it is not Base64-encoded.
//
// CiphertextBlob is automatically base64 encoded/decoded by the SDK.
CiphertextBlob []byte `min:"1" type:"blob"`
+ // The encryption algorithm that was used to reencrypt the data.
+ DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
// Unique identifier of the CMK used to reencrypt the data.
KeyId *string `min:"1" type:"string"`
+ // The encryption algorithm that was used to decrypt the ciphertext before it
+ // was reencrypted.
+ SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"`
+
// Unique identifier of the CMK used to originally encrypt the data.
SourceKeyId *string `min:"1" type:"string"`
}
@@ -9354,12 +11315,24 @@ func (s *ReEncryptOutput) SetCiphertextBlob(v []byte) *ReEncryptOutput {
return s
}
+// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value.
+func (s *ReEncryptOutput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptOutput {
+ s.DestinationEncryptionAlgorithm = &v
+ return s
+}
+
// SetKeyId sets the KeyId field's value.
func (s *ReEncryptOutput) SetKeyId(v string) *ReEncryptOutput {
s.KeyId = &v
return s
}
+// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value.
+func (s *ReEncryptOutput) SetSourceEncryptionAlgorithm(v string) *ReEncryptOutput {
+ s.SourceEncryptionAlgorithm = &v
+ return s
+}
+
// SetSourceKeyId sets the SourceKeyId field's value.
func (s *ReEncryptOutput) SetSourceKeyId(v string) *ReEncryptOutput {
s.SourceKeyId = &v
@@ -9628,6 +11601,173 @@ func (s *ScheduleKeyDeletionOutput) SetKeyId(v string) *ScheduleKeyDeletionOutpu
return s
}
+type SignInput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grant tokens.
+ //
+ // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
+ // in the AWS Key Management Service Developer Guide.
+ GrantTokens []*string `type:"list"`
+
+ // Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric
+ // CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY.
+ // To find the KeyUsage of a CMK, use the DescribeKey operation.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/". To specify
+ // a CMK in a different AWS account, you must use the key ARN or alias ARN.
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ //
+ // KeyId is a required field
+ KeyId *string `min:"1" type:"string" required:"true"`
+
+ // Specifies the message or message digest to sign. Messages can be 0-4096 bytes.
+ // To sign a larger message, provide the message digest.
+ //
+ // If you provide a message, AWS KMS generates a hash digest of the message
+ // and then signs it.
+ //
+ // Message is automatically base64 encoded/decoded by the SDK.
+ //
+ // Message is a required field
+ Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"`
+
+ // Tells AWS KMS whether the value of the Message parameter is a message or
+ // message digest. To indicate a message, enter RAW. To indicate a message digest,
+ // enter DIGEST.
+ MessageType *string `type:"string" enum:"MessageType"`
+
+ // Specifies the signing algorithm to use when signing the message.
+ //
+ // Choose an algorithm that is compatible with the type and size of the specified
+ // asymmetric CMK.
+ //
+ // SigningAlgorithm is a required field
+ SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"`
+}
+
+// String returns the string representation
+func (s SignInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SignInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *SignInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "SignInput"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
+ if s.Message == nil {
+ invalidParams.Add(request.NewErrParamRequired("Message"))
+ }
+ if s.Message != nil && len(s.Message) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Message", 1))
+ }
+ if s.SigningAlgorithm == nil {
+ invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrantTokens sets the GrantTokens field's value.
+func (s *SignInput) SetGrantTokens(v []*string) *SignInput {
+ s.GrantTokens = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *SignInput) SetKeyId(v string) *SignInput {
+ s.KeyId = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *SignInput) SetMessage(v []byte) *SignInput {
+ s.Message = v
+ return s
+}
+
+// SetMessageType sets the MessageType field's value.
+func (s *SignInput) SetMessageType(v string) *SignInput {
+ s.MessageType = &v
+ return s
+}
+
+// SetSigningAlgorithm sets the SigningAlgorithm field's value.
+func (s *SignInput) SetSigningAlgorithm(v string) *SignInput {
+ s.SigningAlgorithm = &v
+ return s
+}
+
+type SignOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign
+ // the message.
+ KeyId *string `min:"1" type:"string"`
+
+ // The cryptographic signature that was generated for the message.
+ //
+ // Signature is automatically base64 encoded/decoded by the SDK.
+ Signature []byte `min:"1" type:"blob"`
+
+ // The signing algorithm that was used to sign the message.
+ SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"`
+}
+
+// String returns the string representation
+func (s SignOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SignOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *SignOutput) SetKeyId(v string) *SignOutput {
+ s.KeyId = &v
+ return s
+}
+
+// SetSignature sets the Signature field's value.
+func (s *SignOutput) SetSignature(v []byte) *SignOutput {
+ s.Signature = v
+ return s
+}
+
+// SetSigningAlgorithm sets the SigningAlgorithm field's value.
+func (s *SignOutput) SetSigningAlgorithm(v string) *SignOutput {
+ s.SigningAlgorithm = &v
+ return s
+}
+
// A key-value pair. A tag consists of a tag key and a tag value. Tag keys and
// tag values are both required, but tag values can be empty (null) strings.
//
@@ -9860,14 +12000,19 @@ func (s UntagResourceOutput) GoString() string {
type UpdateAliasInput struct {
_ struct{} `type:"structure"`
- // Specifies the name of the alias to change. This value must begin with alias/
- // followed by the alias name, such as alias/ExampleAlias.
+ // Identifies the alias that is changing its CMK. This value must begin with
+ // alias/ followed by the alias name, such as alias/ExampleAlias. You cannot
+ // use UpdateAlias to change the alias name.
//
// AliasName is a required field
AliasName *string `min:"1" type:"string" required:"true"`
- // Unique identifier of the customer master key (CMK) to be mapped to the alias.
- // When the update operation completes, the alias will point to this CMK.
+ // Identifies the CMK to associate with the alias. When the update operation
+ // completes, the alias will point to this CMK.
+ //
+ // The CMK must be in the same AWS account and Region as the alias. Also, the
+ // new target CMK must be the same type as the current target CMK (both symmetric
+ // or both asymmetric) and they must have the same key usage.
//
// Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
//
@@ -10130,6 +12275,196 @@ func (s UpdateKeyDescriptionOutput) GoString() string {
return s.String()
}
+type VerifyInput struct {
+ _ struct{} `type:"structure"`
+
+ // A list of grant tokens.
+ //
+ // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token)
+ // in the AWS Key Management Service Developer Guide.
+ GrantTokens []*string `type:"list"`
+
+ // Identifies the asymmetric CMK that will be used to verify the signature.
+ // This must be the same CMK that was used to generate the signature. If you
+ // specify a different CMK, the value of the SignatureValid field in the response
+ // will be False.
+ //
+ // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
+ // or alias ARN. When using an alias name, prefix it with "alias/". To specify
+ // a CMK in a different AWS account, you must use the key ARN or alias ARN.
+ //
+ // For example:
+ //
+ // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ //
+ // * Alias name: alias/ExampleAlias
+ //
+ // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ //
+ // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To
+ // get the alias name and alias ARN, use ListAliases.
+ //
+ // KeyId is a required field
+ KeyId *string `min:"1" type:"string" required:"true"`
+
+ // Specifies the message that was signed, or a hash digest of that message.
+ // Messages can be 0-4096 bytes. To verify a larger message, provide a hash
+ // digest of the message.
+ //
+ // If the digest of the message specified here is different from the message
+ // digest that was signed, the SignatureValid value in the response will be
+ // False.
+ //
+ // Message is automatically base64 encoded/decoded by the SDK.
+ //
+ // Message is a required field
+ Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"`
+
+ // Tells AWS KMS whether the value of the Message parameter is a message or
+ // message digest. To indicate a message, enter RAW. To indicate a message digest,
+ // enter DIGEST.
+ MessageType *string `type:"string" enum:"MessageType"`
+
+ // The signature that the Sign operation generated.
+ //
+ // Signature is automatically base64 encoded/decoded by the SDK.
+ //
+ // Signature is a required field
+ Signature []byte `min:"1" type:"blob" required:"true"`
+
+ // The signing algorithm that was used to sign the message. If you submit a
+ // different algorithm, the value of the SignatureValid field in the response
+ // will be False.
+ //
+ // SigningAlgorithm is a required field
+ SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"`
+}
+
+// String returns the string representation
+func (s VerifyInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VerifyInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *VerifyInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "VerifyInput"}
+ if s.KeyId == nil {
+ invalidParams.Add(request.NewErrParamRequired("KeyId"))
+ }
+ if s.KeyId != nil && len(*s.KeyId) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
+ }
+ if s.Message == nil {
+ invalidParams.Add(request.NewErrParamRequired("Message"))
+ }
+ if s.Message != nil && len(s.Message) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Message", 1))
+ }
+ if s.Signature == nil {
+ invalidParams.Add(request.NewErrParamRequired("Signature"))
+ }
+ if s.Signature != nil && len(s.Signature) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Signature", 1))
+ }
+ if s.SigningAlgorithm == nil {
+ invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetGrantTokens sets the GrantTokens field's value.
+func (s *VerifyInput) SetGrantTokens(v []*string) *VerifyInput {
+ s.GrantTokens = v
+ return s
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *VerifyInput) SetKeyId(v string) *VerifyInput {
+ s.KeyId = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *VerifyInput) SetMessage(v []byte) *VerifyInput {
+ s.Message = v
+ return s
+}
+
+// SetMessageType sets the MessageType field's value.
+func (s *VerifyInput) SetMessageType(v string) *VerifyInput {
+ s.MessageType = &v
+ return s
+}
+
+// SetSignature sets the Signature field's value.
+func (s *VerifyInput) SetSignature(v []byte) *VerifyInput {
+ s.Signature = v
+ return s
+}
+
+// SetSigningAlgorithm sets the SigningAlgorithm field's value.
+func (s *VerifyInput) SetSigningAlgorithm(v string) *VerifyInput {
+ s.SigningAlgorithm = &v
+ return s
+}
+
+type VerifyOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The unique identifier for the asymmetric CMK that was used to verify the
+ // signature.
+ KeyId *string `min:"1" type:"string"`
+
+ // A Boolean value that indicates whether the signature was verified. A value
+ // of True indicates that the Signature was produced by signing the Message
+ // with the specified KeyID and SigningAlgorithm. A value of False indicates
+ // that the message, the algorithm, or the key changed since the message was
+ // signed.
+ SignatureValid *bool `type:"boolean"`
+
+ // The signing algorithm that was used to verify the signature.
+ SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"`
+}
+
+// String returns the string representation
+func (s VerifyOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VerifyOutput) GoString() string {
+ return s.String()
+}
+
+// SetKeyId sets the KeyId field's value.
+func (s *VerifyOutput) SetKeyId(v string) *VerifyOutput {
+ s.KeyId = &v
+ return s
+}
+
+// SetSignatureValid sets the SignatureValid field's value.
+func (s *VerifyOutput) SetSignatureValid(v bool) *VerifyOutput {
+ s.SignatureValid = &v
+ return s
+}
+
+// SetSigningAlgorithm sets the SigningAlgorithm field's value.
+func (s *VerifyOutput) SetSigningAlgorithm(v string) *VerifyOutput {
+ s.SigningAlgorithm = &v
+ return s
+}
+
const (
// AlgorithmSpecRsaesPkcs1V15 is a AlgorithmSpec enum value
AlgorithmSpecRsaesPkcs1V15 = "RSAES_PKCS1_V1_5"
@@ -10179,6 +12514,55 @@ const (
)
const (
+ // CustomerMasterKeySpecRsa2048 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecRsa2048 = "RSA_2048"
+
+ // CustomerMasterKeySpecRsa3072 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecRsa3072 = "RSA_3072"
+
+ // CustomerMasterKeySpecRsa4096 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecRsa4096 = "RSA_4096"
+
+ // CustomerMasterKeySpecEccNistP256 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecEccNistP256 = "ECC_NIST_P256"
+
+ // CustomerMasterKeySpecEccNistP384 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecEccNistP384 = "ECC_NIST_P384"
+
+ // CustomerMasterKeySpecEccNistP521 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecEccNistP521 = "ECC_NIST_P521"
+
+ // CustomerMasterKeySpecEccSecgP256k1 is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecEccSecgP256k1 = "ECC_SECG_P256K1"
+
+ // CustomerMasterKeySpecSymmetricDefault is a CustomerMasterKeySpec enum value
+ CustomerMasterKeySpecSymmetricDefault = "SYMMETRIC_DEFAULT"
+)
+
+const (
+ // DataKeyPairSpecRsa2048 is a DataKeyPairSpec enum value
+ DataKeyPairSpecRsa2048 = "RSA_2048"
+
+ // DataKeyPairSpecRsa3072 is a DataKeyPairSpec enum value
+ DataKeyPairSpecRsa3072 = "RSA_3072"
+
+ // DataKeyPairSpecRsa4096 is a DataKeyPairSpec enum value
+ DataKeyPairSpecRsa4096 = "RSA_4096"
+
+ // DataKeyPairSpecEccNistP256 is a DataKeyPairSpec enum value
+ DataKeyPairSpecEccNistP256 = "ECC_NIST_P256"
+
+ // DataKeyPairSpecEccNistP384 is a DataKeyPairSpec enum value
+ DataKeyPairSpecEccNistP384 = "ECC_NIST_P384"
+
+ // DataKeyPairSpecEccNistP521 is a DataKeyPairSpec enum value
+ DataKeyPairSpecEccNistP521 = "ECC_NIST_P521"
+
+ // DataKeyPairSpecEccSecgP256k1 is a DataKeyPairSpec enum value
+ DataKeyPairSpecEccSecgP256k1 = "ECC_SECG_P256K1"
+)
+
+const (
// DataKeySpecAes256 is a DataKeySpec enum value
DataKeySpecAes256 = "AES_256"
@@ -10187,6 +12571,17 @@ const (
)
const (
+ // EncryptionAlgorithmSpecSymmetricDefault is a EncryptionAlgorithmSpec enum value
+ EncryptionAlgorithmSpecSymmetricDefault = "SYMMETRIC_DEFAULT"
+
+ // EncryptionAlgorithmSpecRsaesOaepSha1 is a EncryptionAlgorithmSpec enum value
+ EncryptionAlgorithmSpecRsaesOaepSha1 = "RSAES_OAEP_SHA_1"
+
+ // EncryptionAlgorithmSpecRsaesOaepSha256 is a EncryptionAlgorithmSpec enum value
+ EncryptionAlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256"
+)
+
+const (
// ExpirationModelTypeKeyMaterialExpires is a ExpirationModelType enum value
ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES"
@@ -10213,6 +12608,15 @@ const (
// GrantOperationReEncryptTo is a GrantOperation enum value
GrantOperationReEncryptTo = "ReEncryptTo"
+ // GrantOperationSign is a GrantOperation enum value
+ GrantOperationSign = "Sign"
+
+ // GrantOperationVerify is a GrantOperation enum value
+ GrantOperationVerify = "Verify"
+
+ // GrantOperationGetPublicKey is a GrantOperation enum value
+ GrantOperationGetPublicKey = "GetPublicKey"
+
// GrantOperationCreateGrant is a GrantOperation enum value
GrantOperationCreateGrant = "CreateGrant"
@@ -10221,6 +12625,12 @@ const (
// GrantOperationDescribeKey is a GrantOperation enum value
GrantOperationDescribeKey = "DescribeKey"
+
+ // GrantOperationGenerateDataKeyPair is a GrantOperation enum value
+ GrantOperationGenerateDataKeyPair = "GenerateDataKeyPair"
+
+ // GrantOperationGenerateDataKeyPairWithoutPlaintext is a GrantOperation enum value
+ GrantOperationGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext"
)
const (
@@ -10249,11 +12659,22 @@ const (
)
const (
+ // KeyUsageTypeSignVerify is a KeyUsageType enum value
+ KeyUsageTypeSignVerify = "SIGN_VERIFY"
+
// KeyUsageTypeEncryptDecrypt is a KeyUsageType enum value
KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT"
)
const (
+ // MessageTypeRaw is a MessageType enum value
+ MessageTypeRaw = "RAW"
+
+ // MessageTypeDigest is a MessageType enum value
+ MessageTypeDigest = "DIGEST"
+)
+
+const (
// OriginTypeAwsKms is a OriginType enum value
OriginTypeAwsKms = "AWS_KMS"
@@ -10265,6 +12686,35 @@ const (
)
const (
+ // SigningAlgorithmSpecRsassaPssSha256 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPssSha256 = "RSASSA_PSS_SHA_256"
+
+ // SigningAlgorithmSpecRsassaPssSha384 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPssSha384 = "RSASSA_PSS_SHA_384"
+
+ // SigningAlgorithmSpecRsassaPssSha512 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPssSha512 = "RSASSA_PSS_SHA_512"
+
+ // SigningAlgorithmSpecRsassaPkcs1V15Sha256 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPkcs1V15Sha256 = "RSASSA_PKCS1_V1_5_SHA_256"
+
+ // SigningAlgorithmSpecRsassaPkcs1V15Sha384 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPkcs1V15Sha384 = "RSASSA_PKCS1_V1_5_SHA_384"
+
+ // SigningAlgorithmSpecRsassaPkcs1V15Sha512 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecRsassaPkcs1V15Sha512 = "RSASSA_PKCS1_V1_5_SHA_512"
+
+ // SigningAlgorithmSpecEcdsaSha256 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecEcdsaSha256 = "ECDSA_SHA_256"
+
+ // SigningAlgorithmSpecEcdsaSha384 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecEcdsaSha384 = "ECDSA_SHA_384"
+
+ // SigningAlgorithmSpecEcdsaSha512 is a SigningAlgorithmSpec enum value
+ SigningAlgorithmSpecEcdsaSha512 = "ECDSA_SHA_512"
+)
+
+const (
// WrappingKeySpecRsa2048 is a WrappingKeySpec enum value
WrappingKeySpecRsa2048 = "RSA_2048"
)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go
index e8ce42f3..a93ac64a 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go
@@ -156,17 +156,25 @@ const (
// ErrCodeExpiredImportTokenException for service response error code
// "ExpiredImportTokenException".
//
- // The request was rejected because the provided import token is expired. Use
+ // The request was rejected because the specified import token is expired. Use
// GetParametersForImport to get a new import token and public key, use the
// new public key to encrypt the key material, and then try the request again.
ErrCodeExpiredImportTokenException = "ExpiredImportTokenException"
+ // ErrCodeIncorrectKeyException for service response error code
+ // "IncorrectKeyException".
+ //
+ // The request was rejected because the specified CMK cannot decrypt the data.
+ // The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request
+ // must identify the same CMK that was used to encrypt the ciphertext.
+ ErrCodeIncorrectKeyException = "IncorrectKeyException"
+
// ErrCodeIncorrectKeyMaterialException for service response error code
// "IncorrectKeyMaterialException".
//
- // The request was rejected because the provided key material is invalid or
- // is not the same key material that was previously imported into this customer
- // master key (CMK).
+ // The request was rejected because the key material in the request is, expired,
+ // invalid, or is not the same key material that was previously imported into
+ // this customer master key (CMK).
ErrCodeIncorrectKeyMaterialException = "IncorrectKeyMaterialException"
// ErrCodeIncorrectTrustAnchorException for service response error code
@@ -203,9 +211,13 @@ const (
// ErrCodeInvalidCiphertextException for service response error code
// "InvalidCiphertextException".
//
- // The request was rejected because the specified ciphertext, or additional
- // authenticated data incorporated into the ciphertext, such as the encryption
- // context, is corrupted, missing, or otherwise invalid.
+ // From the Decrypt or ReEncrypt operation, the request was rejected because
+ // the specified ciphertext, or additional authenticated data incorporated into
+ // the ciphertext, such as the encryption context, is corrupted, missing, or
+ // otherwise invalid.
+ //
+ // From the ImportKeyMaterial operation, the request was rejected because AWS
+ // KMS could not decrypt the encrypted (wrapped) key material.
ErrCodeInvalidCiphertextException = "InvalidCiphertextException"
// ErrCodeInvalidGrantIdException for service response error code
@@ -230,7 +242,19 @@ const (
// ErrCodeInvalidKeyUsageException for service response error code
// "InvalidKeyUsageException".
//
- // The request was rejected because the specified KeySpec value is not valid.
+ // The request was rejected for one of the following reasons:
+ //
+ // * The KeyUsage value of the CMK is incompatible with the API operation.
+ //
+ // * The encryption algorithm or signing algorithm specified for the operation
+ // is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).
+ //
+ // For encrypting, decrypting, re-encrypting, and generating data keys, the
+ // KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage
+ // must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.
+ //
+ // To find the encryption or signing algorithms supported for a particular CMK,
+ // use the DescribeKey operation.
ErrCodeInvalidKeyUsageException = "InvalidKeyUsageException"
// ErrCodeInvalidMarkerException for service response error code
@@ -248,14 +272,14 @@ const (
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
- // in the AWS Key Management Service Developer Guide.
+ // in the AWS Key Management Service Developer Guide .
ErrCodeInvalidStateException = "KMSInvalidStateException"
// ErrCodeKeyUnavailableException for service response error code
// "KeyUnavailableException".
//
- // The request was rejected because the specified CMK was not available. The
- // request can be retried.
+ // The request was rejected because the specified CMK was not available. You
+ // can retry the request.
ErrCodeKeyUnavailableException = "KeyUnavailableException"
// ErrCodeLimitExceededException for service response error code
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
index 5fcd0f1e..ea5dc6d7 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -20,6 +20,7 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
"github.com/aws/aws-sdk-go/private/protocol/rest"
"github.com/aws/aws-sdk-go/private/protocol/restxml"
+ "github.com/aws/aws-sdk-go/service/s3/internal/arn"
)
const opAbortMultipartUpload = "AbortMultipartUpload"
@@ -74,13 +75,13 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req
// times in order to completely free all storage consumed by all parts.
//
// To verify that all parts have been removed, so you don't get charged for
-// the part storage, you should call the ListParts operation and ensure the
-// parts list is empty.
+// the part storage, you should call the ListParts operation and ensure that
+// the parts list is empty.
//
-// For information on permissions required to use the multipart upload API,
+// For information about permissions required to use the multipart upload API,
// see Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html).
//
-// The following operations are related to AbortMultipartUpload
+// The following operations are related to AbortMultipartUpload:
//
// * CreateMultipartUpload
//
@@ -176,15 +177,15 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
// an upload, you call this operation to complete the upload. Upon receiving
// this request, Amazon S3 concatenates all the parts in ascending order by
// part number to create a new object. In the Complete Multipart Upload request,
-// you must provide the parts list. You must ensure the parts list is complete,
-// this operation concatenates the parts you provide in the list. For each part
-// in the list, you must provide the part number and the ETag value, returned
+// you must provide the parts list. You must ensure that the parts list is complete.
+// This operation concatenates the parts that you provide in the list. For each
+// part in the list, you must provide the part number and the ETag value, returned
// after that part was uploaded.
//
// Processing of a Complete Multipart Upload request could take several minutes
// to complete. After Amazon S3 begins processing the request, it sends an HTTP
// response header that specifies a 200 OK response. While processing is in
-// progress, Amazon S3 periodically sends whitespace characters to keep the
+// progress, Amazon S3 periodically sends white space characters to keep the
// connection from timing out. Because a request could fail after the initial
// 200 OK response has been sent, it is important that you check the response
// body to determine whether the request succeeded.
@@ -193,10 +194,10 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
// to retry the failed requests. For more information, see Amazon S3 Error Best
// Practices (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html).
//
-// For more information on multipart uploads, see Uploading Objects Using Multipart
-// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html).
+// For more information about multipart uploads, see Uploading Objects Using
+// Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html).
//
-// For information on permissions required to use the multipart upload API,
+// For information about permissions required to use the multipart upload API,
// see Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html).
//
// GetBucketLifecycle has the following special errors:
@@ -306,8 +307,8 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// You can store individual objects of up to 5 TB in Amazon S3. You create a
// copy of your object up to 5 GB in size in a single atomic operation using
// this API. However, for copying an object greater than 5 GB, you must use
-// the multipart upload Upload Part - Copy API. For conceptual information,
-// see Copy Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
+// the multipart upload Upload Part - Copy API. For more information, see Copy
+// Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
//
// When copying an object, you can preserve all metadata (default) or specify
// new metadata. However, the ACL is not preserved and is set to private for
@@ -315,8 +316,8 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// a new ACL when generating a copy request. For more information, see Using
// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
//
-// Amazon S3 Transfer Acceleration does not support cross-region copies. If
-// you request a cross-region copy using a Transfer Acceleration endpoint, you
+// Amazon S3 transfer acceleration does not support cross-region copies. If
+// you request a cross-region copy using a transfer acceleration endpoint, you
// get a 400 Bad Request error. For more information about transfer acceleration,
// see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
//
@@ -340,9 +341,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
//
// The source object that you are copying can be encrypted or unencrypted. If
// the source object is encrypted, it can be encrypted by server-side encryption
-// using AWS-managed encryption keys or by using a customer-provided encryption
+// using AWS managed encryption keys or by using a customer-provided encryption
// key. When copying an object, you can request that Amazon S3 encrypt the target
-// object by using either the AWS-managed encryption keys or by using your own
+// object by using either the AWS managed encryption keys or by using your own
// encryption key. You can do this regardless of the form of server-side encryption
// that was used to encrypt the source, or even if the source object was not
// encrypted. For more information about server-side encryption, see Using Server-Side
@@ -398,9 +399,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// If you do not enable versioning or suspend it on the target bucket, the version
// ID that Amazon S3 generates is always null.
//
-// If the source object's storage class is GLACIER, then you must restore a
-// copy of this object before you can use it as a source object for the copy
-// operation. For more information, see .
+// If the source object's storage class is GLACIER, you must restore a copy
+// of this object before you can use it as a source object for the copy operation.
+// For more information, see .
//
// Access Permissions
//
@@ -422,18 +423,18 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// Server-Side- Encryption-Specific Request Headers
//
// To encrypt the target object, you must provide the appropriate encryption-related
-// request headers. The one you use depends on whether you want to use AWS-managed
+// request headers. The one you use depends on whether you want to use AWS managed
// encryption keys or provide your own encryption key.
//
-// * To encrypt the target object using server-side encryption with an AWS-managed
-// encryption key, provide the following request headers, as appropriate.
+// * To encrypt the target object using server-side encryption with an AWS
+// managed encryption key, provide the following request headers, as appropriate.
// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
-// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
+// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms
// but don't provide x-amz-server-side- encryption-aws-kms-key-id, Amazon
-// S3 uses the AWS managed customer master key (CMK) in KMS to protect the
-// data. All GET and PUT requests for an object protected by AWS KMS fail
-// if you don't make them with SSL or by using SigV4. For more information
-// on Server-Side Encryption with CMKs stored in Amazon KMS (SSE-KMS), see
+// S3 uses the AWS managed customer master key (CMK) in AWS KMS to protect
+// the data. All GET and PUT requests for an object protected by AWS KMS
+// fail if you don't make them with SSL or by using SigV4. For more information
+// about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see
// Protecting Data Using Server-Side Encryption with CMKs stored in KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// * To encrypt the target object using server-side encryption with an encryption
@@ -444,7 +445,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// customer-provided encryption keys, you must use the following headers.
// x-amz-copy-source​-server-side​-encryption​-customer-algorithm x-amz-copy-source​-server-side​-encryption​-customer-key
// x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 For
-// more information on Server-Side Encryption with CMKs stored in Amazon
+// more information about server-side encryption with CMKs stored in AWS
// KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs
// stored in Amazon KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
@@ -454,7 +455,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// operation. By default, all objects are private. Only the owner has full access
// control. When adding a new object, you can grant permissions to individual
// AWS accounts or to predefined groups defined by Amazon S3. These permissions
-// are then added to the Access Control List (ACL) on the object. For more information,
+// are then added to the access control list (ACL) on the object. For more information,
// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
// With this operation, you can grant access permissions using one of the following
// two methods:
@@ -468,7 +469,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// Each header maps to specific permissions that Amazon S3 supports in an
// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
// In the header, you specify a list of grantees who get the specific permission.
-// To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write
+// To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write
// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You
// specify each grantee as a type=value pair, where the type is one of the
// following: emailAddress – if the value specified is the email address
@@ -478,7 +479,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// accounts identified by email addresses permissions to read object data
// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
//
-// The following operation are related to CopyObject
+// The following operations are related to CopyObject:
//
// * PutObject
//
@@ -496,7 +497,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// Returned Error Codes:
// * ErrCodeObjectNotInActiveTierError "ObjectNotInActiveTierError"
// The source object of the COPY operation is not in the active tier and is
-// only stored in Amazon Glacier.
+// only stored in Amazon S3 Glacier.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) {
@@ -572,19 +573,19 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// Not every string is an acceptable bucket name. For information on bucket
// naming restrictions, see Working with Amazon S3 Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html).
//
-// By default, the bucket is created in the US East (N. Virginia) region. You
-// can optionally specify a region in the request body. You might choose a region
+// By default, the bucket is created in the US East (N. Virginia) Region. You
+// can optionally specify a Region in the request body. You might choose a Region
// to optimize latency, minimize costs, or address regulatory requirements.
// For example, if you reside in Europe, you will probably find it advantageous
-// to create buckets in the EU (Ireland) region. For more information, see How
+// to create buckets in the EU (Ireland) Region. For more information, see How
// to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro).
//
// If you send your create bucket request to the s3.amazonaws.com endpoint,
-// the request go to the us-east-1 region. Accordingly, the signature calculations
-// in Signature Version 4 must use us-east-1 as region, even if the location
-// constraint in the request specifies another region where the bucket is to
-// be created. If you create a bucket in a region other than US East (N. Virginia)
-// region, your application must be able to handle 307 redirect. For more information,
+// the request goes to the us-east-1 Region. Accordingly, the signature calculations
+// in Signature Version 4 must use us-east-1 as the Region, even if the location
+// constraint in the request specifies another Region where the bucket is to
+// be created. If you create a bucket in a Region other than US East (N. Virginia),
+// your application must be able to handle 307 redirect. For more information,
// see Virtual Hosting of Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html).
//
// When creating a bucket using this operation, you can optionally specify the
@@ -598,7 +599,7 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//
// * Specify access permissions explicitly using the x-amz-grant-read, x-amz-grant-write,
-// x-amz-grant-read-acp, x-amz-grant-write-acp, x-amz-grant-full-control
+// x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control
// headers. These headers map to the set of permissions Amazon S3 supports
// in an ACL. For more information, see Access Control List (ACL) Overview
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You
@@ -633,9 +634,9 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
//
// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou"
// The bucket you tried to create already exists, and you own it. Amazon S3
-// returns this error in all AWS Regions except in the North Virginia region.
+// returns this error in all AWS Regions except in the North Virginia Region.
// For legacy compatibility, if you re-create an existing bucket that you already
-// own in the North Virginia region, Amazon S3 returns 200 OK and resets the
+// own in the North Virginia Region, Amazon S3 returns 200 OK and resets the
// bucket access control lists (ACLs).
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
@@ -782,26 +783,27 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
// encryption. Server-side encryption is for data encryption at rest. Amazon
// S3 encrypts your data as it writes it to disks in its data centers and decrypts
// it when you access it. The option you use depends on whether you want to
-// use AWS-managed encryption keys or provide your own encryption key.
+// use AWS managed encryption keys or provide your own encryption key.
//
// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs)
-// stored in Amazon Key Management Service (KMS) – If you want AWS to manage
-// the keys used to encrypt data, specify the following headers in the request.
-// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
+// stored in AWS Key Management Service (AWS KMS) – If you want AWS to
+// manage the keys used to encrypt data, specify the following headers in
+// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
// but don't provide x-amz-server-side- encryption-aws-kms-key-id, Amazon
// S3 uses the AWS managed CMK in AWS KMS to protect the data. All GET and
// PUT requests for an object protected by AWS KMS fail if you don't make
-// them with SSL or by using SigV4. For more information on Server-Side Encryption
-// with CMKs Stored in Amazon KMS (SSE-KMS), see Protecting Data Using Server-Side
-// Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+// them with SSL or by using SigV4. For more information about server-side
+// encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data
+// Using Server-Side Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// * Use customer-provided encryption keys – If you want to manage your
// own encryption keys, provide all the following headers in the request.
// x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key
// x-amz-server-side​-encryption​-customer-key-MD5 For more information
-// on Server-Side Encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting
-// Data Using Server-Side Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+// about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see
+// Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// Access-Control-List (ACL)-Specific Request Headers
//
@@ -809,7 +811,7 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
// operation. By default, all objects are private. Only the owner has full access
// control. When adding a new object, you can grant permissions to individual
// AWS accounts or to predefined groups defined by Amazon S3. These permissions
-// are then added to the Access Control List (ACL) on the object. For more information,
+// are then added to the access control list (ACL) on the object. For more information,
// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
// With this operation, you can grant access permissions using one of the following
// two methods:
@@ -823,7 +825,7 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
// Each header maps to specific permissions that Amazon S3 supports in an
// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
// In the header, you specify a list of grantees who get the specific permission.
-// To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write
+// To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write
// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You
// specify each grantee as a type=value pair, where the type is one of the
// following: emailAddress – if the value specified is the email address
@@ -918,8 +920,8 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request
// DeleteBucket API operation for Amazon Simple Storage Service.
//
-// Deletes the bucket. All objects (including all object versions and Delete
-// Markers) in the bucket must be deleted before the bucket itself can be deleted.
+// Deletes the bucket. All objects (including all object versions and delete
+// markers) in the bucket must be deleted before the bucket itself can be deleted.
//
// Related Resources
//
@@ -1009,7 +1011,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html).
//
-// For information about Amazon S3 analytics feature, see Amazon S3 Analytics
+// For information about the Amazon S3 analytics feature, see Amazon S3 Analytics
// – Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html).
//
// The following operations are related to DeleteBucketAnalyticsConfiguration:
@@ -1099,9 +1101,8 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request
// action. The bucket owner has this permission by default and can grant this
// permission to others.
//
-// For information more about cors, go to Enabling Cross-Origin Resource Sharing
-// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
-// Simple Storage Service Developer Guide.
+// For information about cors, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html)
+// in the Amazon Simple Storage Service Developer Guide.
//
// Related Resources:
//
@@ -1285,7 +1286,7 @@ func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInvent
// For information about the Amazon S3 inventory feature, see Amazon S3 Inventory
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html).
//
-// Operation related to DeleteBucketInventoryConfiguration include:
+// Operations related to DeleteBucketInventoryConfiguration include:
//
// * GetBucketInventoryConfiguration
//
@@ -1474,7 +1475,7 @@ func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsC
// For information about CloudWatch request metrics for Amazon S3, see Monitoring
// Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html).
//
-// The following operations are related to DeleteBucketMetricsConfiguration
+// The following operations are related to DeleteBucketMetricsConfiguration:
//
// * GetBucketMetricsConfiguration
//
@@ -1557,15 +1558,15 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req
// DeleteBucketPolicy API operation for Amazon Simple Storage Service.
//
-// This implementation of the DELETE operation uses the policysubresource to
+// This implementation of the DELETE operation uses the policy subresource to
// delete the policy of a specified bucket. If you are using an identity other
// than the root user of the AWS account that owns the bucket, the calling identity
// must have the DeleteBucketPolicy permissions on the specified bucket and
-// belong to the bucket owner's account in order to use this operation.
+// belong to the bucket owner's account to use this operation.
//
// If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403
-// Access Denied error. If you have the correct permissions, but you're notusing
-// an identity that belongs to the bucket owner's account, Amazon S3 returns
+// Access Denied error. If you have the correct permissions, but you're not
+// using an identity that belongs to the bucket owner's account, Amazon S3 returns
// a 405 Method Not Allowed error.
//
// As a security precaution, the root user of the AWS account that owns a bucket
@@ -1668,7 +1669,7 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput)
// For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
// in the Amazon S3 Developer Guide.
//
-// The following operations are related to DeleteBucketReplication
+// The following operations are related to DeleteBucketReplication:
//
// * PutBucketReplication
//
@@ -1753,7 +1754,7 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r
// action. By default, the bucket owner has this permission and can grant this
// permission to others.
//
-// The following operations are related to DeleteBucketTagging
+// The following operations are related to DeleteBucketTagging:
//
// * GetBucketTagging
//
@@ -1847,7 +1848,7 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r
// For more information about hosting websites, see Hosting Websites on Amazon
// S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).
//
-// The following operations are related to DeleteBucketWebsite
+// The following operations are related to DeleteBucketWebsite:
//
// * GetBucketWebsite
//
@@ -1935,7 +1936,7 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request
// header, x-amz-delete-marker, to true.
//
// If the object you want to delete is in a bucket where the bucket versioning
-// configurationis MFA Delete enabled, you must include the x-amz-mfa request
+// configuration is MFA Delete enabled, you must include the x-amz-mfa request
// header in the DELETE versionId request. Requests that include x-amz-mfa must
// use HTTPS.
//
@@ -1945,10 +1946,10 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request
// You can delete objects by explicitly calling the DELETE Object API or configure
// its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for
// you. If you want to block users or accounts from removing or deleting objects
-// from your bucket you must deny them the s3:DeleteObject, s3:DeleteObjectVersion
+// from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion,
// and s3:PutLifeCycleConfiguration actions.
//
-// The following operation is related to DeleteObject
+// The following operation is related to DeleteObject:
//
// * PutObject
//
@@ -2034,7 +2035,7 @@ func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *r
// in the request. You will need permission for the s3:DeleteObjectVersionTagging
// action.
//
-// The following operations are related to DeleteBucketMetricsConfiguration
+// The following operations are related to DeleteBucketMetricsConfiguration:
//
// * PutObjectTagging
//
@@ -2121,11 +2122,11 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque
// the XML, you provide the object key names, and optionally, version IDs if
// you want to delete a specific version of the object from a versioning-enabled
// bucket. For each key, Amazon S3 performs a delete operation and returns the
-// result of that delete, success, or failure, in the response. Note that, if
+// result of that delete, success, or failure, in the response. Note that if
// the object specified in the request is not found, Amazon S3 returns the result
// as deleted.
//
-// The operation supports two modes for the response; verbose and quiet. By
+// The operation supports two modes for the response: verbose and quiet. By
// default, the operation uses verbose mode in which the response includes the
// result of deletion of each key in your request. In quiet mode the response
// includes only keys where the delete operation encountered an error. For a
@@ -2134,16 +2135,16 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque
//
// When performing this operation on an MFA Delete enabled bucket, that attempts
// to delete any versioned objects, you must include an MFA token. If you do
-// not provide one, the entire request will fail, even if there are non versioned
-// objects you are attempting to delete. If you provide an invalid token, whether
+// not provide one, the entire request will fail, even if there are non-versioned
+// objects you are trying to delete. If you provide an invalid token, whether
// there are versioned keys in the request or not, the entire Multi-Object Delete
// request will fail. For information about MFA Delete, see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete).
//
// Finally, the Content-MD5 header is required for all Multi-Object Delete requests.
// Amazon S3 uses the header value to ensure that your request body has not
-// be altered in transit.
+// been altered in transit.
//
-// The following operations are related to DeleteObjects
+// The following operations are related to DeleteObjects:
//
// * CreateMultipartUpload
//
@@ -2228,8 +2229,8 @@ func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput)
// DeletePublicAccessBlock API operation for Amazon Simple Storage Service.
//
-// Removes the PublicAccessBlock configuration for an Amazon S3 bucket. In order
-// to use this operation, you must have the s3:PutBucketPublicAccessBlock permission.
+// Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use
+// this operation, you must have the s3:PutBucketPublicAccessBlock permission.
// For more information about permissions, see Permissions Related to Bucket
// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html).
@@ -2333,9 +2334,9 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC
//
// A GET accelerate request does not return a state value for a bucket that
// has no transfer acceleration state. A bucket has no Transfer Acceleration
-// state, if a state has never been set on the bucket.
+// state if a state has never been set on the bucket.
//
-// For more information on transfer acceleration, see Transfer Acceleration
+// For more information about transfer acceleration, see Transfer Acceleration
// (https://docs.aws.amazon.com/AmazonS3/latest/dev//transfer-acceleration.html)
// in the Amazon Simple Storage Service Developer Guide.
//
@@ -2597,8 +2598,8 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque
// action. By default, the bucket owner has this permission and can grant it
// to others.
//
-// To learn more cors, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html)Enabling
-// Cross-Origin Resource Sharing.
+// For more information about cors, see Enabling Cross-Origin Resource Sharing
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html).
//
// The following operations are related to GetBucketCors:
//
@@ -2866,7 +2867,8 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req
//
// For an updated version of this API, see GetBucketLifecycleConfiguration.
// If you configured a bucket lifecycle using the filter element, you should
-// the updated version of this topic. This topic is provided for backward compatibility.
+// see the updated version of this topic. This topic is provided for backward
+// compatibility.
//
// Returns the lifecycle configuration information set on the bucket. For information
// about lifecycle configuration, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html).
@@ -3071,7 +3073,7 @@ func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *reque
// GetBucketLocation API operation for Amazon Simple Storage Service.
//
-// Returns the region the bucket resides in. You set the bucket's region using
+// Returns the Region the bucket resides in. You set the bucket's Region using
// the LocationConstraint request parameter in a CreateBucket request. For more
// information, see CreateBucket.
//
@@ -3692,7 +3694,8 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req
// to all Amazon S3 systems. Therefore, a get request soon after put or delete
// can return a wrong result.
//
-// For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html).
+// For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
+// in the Amazon Simple Storage Service Developer Guide.
//
// This operation requires permissions for the s3:GetReplicationConfiguration
// action. For more information about permissions, see Using Bucket Policies
@@ -3702,11 +3705,7 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req
// also include the DeleteMarkerReplication and Priority elements. The response
// also returns those elements.
//
-// GetBucketReplication has the following special error:
-//
-// * Error code: NoSuchReplicationConfiguration Description: There is no
-// replication configuration with that name. HTTP Status Code: 404 Not Found
-// SOAP Fault Code Prefix: Client
+// For information about GetBucketReplication errors, see ReplicationErrorCodeList
//
// The following operations are related to GetBucketReplication:
//
@@ -3960,8 +3959,8 @@ func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *r
// To retrieve the versioning state of a bucket, you must be the bucket owner.
//
// This implementation also returns the MFA Delete status of the versioning
-// state, i.e., if the MFA Delete status is enabled, the bucket owner must use
-// an authentication device to change the versioning state of the bucket.
+// state. If the MFA Delete status is enabled, the bucket owner must use an
+// authentication device to change the versioning state of the bucket.
//
// The following operations are related to GetBucketVersioning:
//
@@ -4053,7 +4052,7 @@ func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request
// bucket owners can allow other users to read the website configuration by
// writing a bucket policy granting them the S3:GetBucketWebsite permission.
//
-// The following operations are related to DeleteBucketWebsite
+// The following operations are related to DeleteBucketWebsite:
//
// * DeleteBucketWebsite
//
@@ -4831,10 +4830,10 @@ func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req
// GetPublicAccessBlock API operation for Amazon Simple Storage Service.
//
-// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. In
-// order to use this operation, you must have the s3:GetBucketPublicAccessBlock
-// permission. For more information about Amazon S3 permissions, see Specifying
-// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html).
+// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To
+// use this operation, you must have the s3:GetBucketPublicAccessBlock permission.
+// For more information about Amazon S3 permissions, see Specifying Permissions
+// in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html).
//
// When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket
// or an object, it checks the PublicAccessBlock configuration for both the
@@ -5068,11 +5067,11 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou
// If the object you request does not exist, the error Amazon S3 returns depends
// on whether you also have the s3:ListBucket permission.
//
-// * If you have the s3:ListBucket permission on the bucket, Amazon S3 will
-// return a HTTP status code 404 ("no such key") error.
+// * If you have the s3:ListBucket permission on the bucket, Amazon S3 returns
+// an HTTP status code 404 ("no such key") error.
//
-// * If you don’t have the s3:ListBucket permission, Amazon S3 will return
-// a HTTP status code 403 ("access denied") error.
+// * If you don’t have the s3:ListBucket permission, Amazon S3 returns
+// an HTTP status code 403 ("access denied") error.
//
// The following operation is related to HeadObject:
//
@@ -5848,7 +5847,7 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request,
// ListObjects API operation for Amazon Simple Storage Service.
//
-// Returns some or all (up to 1000) of the objects in a bucket. You can use
+// Returns some or all (up to 1,000) of the objects in a bucket. You can use
// the request parameters as selection criteria to return a subset of the objects
// in a bucket. A 200 OK response can contain valid or invalid XML. Be sure
// to design your application to parse the contents of the response and handle
@@ -6011,7 +6010,7 @@ func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Reque
// to design your application to parse the contents of the response and handle
// it appropriately.
//
-// To use thisoperation, you must have READ access to the bucket.
+// To use this operation, you must have READ access to the bucket.
//
// To use this operation in an AWS Identity and Access Management (IAM) policy,
// you must have permissions to perform the s3:ListBucket action. The bucket
@@ -6458,17 +6457,17 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
// a set of predefined ACLs, known as canned ACLs. Each canned ACL has a
// predefined set of grantees and permissions. Specify the canned ACL name
// as the value of x-amz-acl. If you use this header, you cannot use other
-// access control specific headers in your request. For more information,
+// access control-specific headers in your request. For more information,
// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//
// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp,
// x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using
-// these headers you specify explicit access permissions and grantees (AWS
-// accounts or a Amazon S3 groups) who will receive the permission. If you
-// use these ACL specific headers, you cannot use x-amz-acl header to set
-// a canned ACL. These parameters map to the set of permissions that Amazon
-// S3 supports in an ACL. For more information, see Access Control List (ACL)
-// Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
+// these headers, you specify explicit access permissions and grantees (AWS
+// accounts or Amazon S3 groups) who will receive the permission. If you
+// use these ACL-specific headers, you cannot use the x-amz-acl header to
+// set a canned ACL. These parameters map to the set of permissions that
+// Amazon S3 supports in an ACL. For more information, see Access Control
+// List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
// You specify each grantee as a type=value pair, where the type is one of
// the following: emailAddress – if the value specified is the email address
// of an AWS account id – if the value specified is the canonical user
@@ -6584,13 +6583,13 @@ func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsCon
// configuration ID). You can have up to 1,000 analytics configurations per
// bucket.
//
-// You can choose to have storage class analysis export analysis reports to
-// a comma-separated values (CSV) flat file, see the DataExport request element.
-// Reports are updated daily and are based on the object filters you configure.
-// When selecting data export you specify a destination bucket and optional
+// You can choose to have storage class analysis export analysis reports sent
+// to a comma-separated values (CSV) flat file. See the DataExport request element.
+// Reports are updated daily and are based on the object filters that you configure.
+// When selecting data export, you specify a destination bucket and an optional
// destination prefix where the file is written. You can export the data to
// a destination bucket in a different account. However, the destination bucket
-// must be in the same region as the bucket that you are making the PUT analytics
+// must be in the same Region as the bucket that you are making the PUT analytics
// configuration to. For more information, see Amazon S3 Analytics – Storage
// Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html).
//
@@ -6724,7 +6723,7 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque
//
// * The request's Origin header must match AllowedOrigin elements.
//
-// * The request method (for example, GET, PUT, HEAD and so on) or the Access-Control-Request-Method
+// * The request method (for example, GET, PUT, HEAD, and so on) or the Access-Control-Request-Method
// header in case of a pre-flight OPTIONS request must be one of the AllowedMethod
// elements.
//
@@ -6821,11 +6820,7 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r
//
// This implementation of the PUT operation sets default encryption for a buckets
// using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS
-// customer master keys (CMKs) (SSE-KMS) bucket. For information about the Amazon
-// S3 default encryption feature, see As a security precaution, the root user
-// of the AWS account that owns a bucket can always use this operation, even
-// if the policy explicitly denies the root user the ability to perform this
-// action. in the Amazon Simple Storage Service Developer Guide.
+// customer master keys (CMKs) (SSE-KMS) bucket.
//
// This operation requires AWS Signature Version 4. For more information, see
// Authenticating Requests (AWS Signature Version 4) (sig-v4-authenticating-requests.html).
@@ -7452,7 +7447,7 @@ func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigu
//
// GetBucketLifecycle has the following special error:
//
-// * Error code: TooManyConfigurations Description:You are attempting to
+// * Error code: TooManyConfigurations Description: You are attempting to
// create a new configuration but have already reached the 1,000-configuration
// limit. HTTP Status Code: HTTP 400 Bad Request
//
@@ -7657,9 +7652,9 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat
// If the configuration in the request body includes only one TopicConfiguration
// specifying only the s3:ReducedRedundancyLostObject event type, the response
// will also include the x-amz-sns-test-message-id header containing the message
-// ID of the test notification sent to topic.
+// ID of the test notification sent to the topic.
//
-// The following operations is related to PutBucketNotificationConfiguration:
+// The following operation is related to PutBucketNotificationConfiguration:
//
// * GetBucketNotificationConfiguration
//
@@ -7875,16 +7870,7 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req
// replication configuration, see Replicating Objects Created with SSE Using
// CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html).
//
-// PutBucketReplication has the following special errors:
-//
-// * Error code: InvalidRequest Description: If the <Owner> in <AccessControlTranslation>
-// has a value, the <Account> element must be specified. HTTP 400
-//
-// * Error code: InvalidArgument Description: The <Account> element is empty.
-// It must contain a valid account ID. HTTP 400
-//
-// * Error code: InvalidArgument Description: The AWS account specified in
-// the <Account> element must match the destination bucket owner. HTTP 400
+// For information on PutBucketReplication errors, see ReplicationErrorCodeList
//
// The following operations are related to PutBucketReplication:
//
@@ -8435,7 +8421,7 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// You can optionally request server-side encryption. With server-side encryption,
// Amazon S3 encrypts your data as it writes it to disks in its data centers
// and decrypts the data when you access it. You have the option to provide
-// your own encryption key or use AWS-managed encryption keys. For more information,
+// your own encryption key or use AWS managed encryption keys. For more information,
// see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html).
//
// Access Permissions
@@ -8461,25 +8447,25 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// encryption. Server-side encryption is for data encryption at rest. Amazon
// S3 encrypts your data as it writes it to disks in its data centers and decrypts
// it when you access it. The option you use depends on whether you want to
-// use AWS-managed encryption keys or provide your own encryption key.
+// use AWS managed encryption keys or provide your own encryption key.
//
-// * Use encryption keys managed Amazon S3 or customer master keys (CMKs)
-// stored in AWS Key Management Service (KMS) – If you want AWS to manage
-// the keys used to encrypt data, specify the following headers in the request.
-// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
+// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs)
+// stored in AWS Key Management Service (AWS KMS) – If you want AWS to
+// manage the keys used to encrypt data, specify the following headers in
+// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
// but don't provide x-amz-server-side- encryption-aws-kms-key-id, Amazon
// S3 uses the AWS managed CMK in AWS KMS to protect the data. All GET and
// PUT requests for an object protected by AWS KMS fail if you don't make
-// them with SSL or by using SigV4. For more information on Server-Side Encryption
-// with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side
-// Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+// them with SSL or by using SigV4. For more information about server-side
+// encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data
+// Using Server-Side Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// * Use customer-provided encryption keys – If you want to manage your
// own encryption keys, provide all the following headers in the request.
// x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key
// x-amz-server-side​-encryption​-customer-key-MD5 For more information
-// on Server-Side Encryption with CMKs stored in KMS (SSE-KMS), see Protecting
+// about server-side encryption with CMKs stored in KMS (SSE-KMS), see Protecting
// Data Using Server-Side Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// Access-Control-List (ACL)-Specific Request Headers
@@ -8510,7 +8496,7 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// in the following AWS Regions: US East (N. Virginia) US West (N. California)
// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
// (Tokyo) EU (Ireland) South America (São Paulo) For a list of all the
-// Amazon S3 supported regions and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+// Amazon S3 supported Regions and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
// in the AWS General Reference id – if the value specified is the canonical
// user ID of an AWS account uri – if you are granting permissions to a
// predefined group For example, the following x-amz-grant-read header grants
@@ -8527,14 +8513,14 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// use AWS-managed encryption keys or provide your own encryption key.
//
// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs)
-// stored in AWS Key Management Service (KMS) – If you want AWS to manage
-// the keys used to encrypt data, specify the following headers in the request.
-// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
+// stored in AWS Key Management Service (AWS KMS) – If you want AWS to
+// manage the keys used to encrypt data, specify the following headers in
+// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
// but don't provide x-amz-server-side- encryption-aws-kms-key-id, Amazon
// S3 uses the default AWS KMS CMK to protect the data. All GET and PUT requests
// for an object protected by AWS KMS fail if you don't make them with SSL
-// or by using SigV4. For more information on Server-Side Encryption with
+// or by using SigV4. For more information about server-side encryption with
// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side
// Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
@@ -8543,9 +8529,9 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// If you use this feature, the ETag value that Amazon S3 returns in the
// response is not the MD5 of the object. x-amz-server-side​-encryption​-customer-algorithm
// x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5
-// For more information on Server-Side Encryption with CMKs stored in AWS
-// KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs
-// stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+// For more information about server-side encryption with CMKs stored in
+// AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with
+// CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// Storage Class Options
//
@@ -8644,14 +8630,14 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// PutObjectAcl API operation for Amazon Simple Storage Service.
//
-// uses the acl subresource to set the access control list (ACL) permissions
+// Uses the acl subresource to set the access control list (ACL) permissions
// for an object that already exists in a bucket. You must have WRITE_ACP permission
// to set the ACL of an object.
//
-// Depending on your application needs, you may choose to set the ACL on an
+// Depending on your application needs, you can choose to set the ACL on an
// object using either the request body or the headers. For example, if you
// have an existing application that updates a bucket ACL using the request
-// body, then you can continue to use that approach.
+// body, you can continue to use that approach.
//
// Access Permissions
//
@@ -8661,14 +8647,14 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// a set of predefined ACLs, known as canned ACLs. Each canned ACL has a
// predefined set of grantees and permissions. Specify the canned ACL name
// as the value of x-amz-acl. If you use this header, you cannot use other
-// access control specific headers in your request. For more information,
+// access control-specific headers in your request. For more information,
// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//
// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp,
// x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using
-// these headers you specify explicit access permissions and grantees (AWS
-// accounts or a Amazon S3 groups) who will receive the permission. If you
-// use these ACL specific headers, you cannot use x-amz-acl header to set
+// these headers, you specify explicit access permissions and grantees (AWS
+// accounts or Amazon S3 groups) who will receive the permission. If you
+// use these ACL-specific headers, you cannot use x-amz-acl header to set
// a canned ACL. These parameters map to the set of permissions that Amazon
// S3 supports in an ACL. For more information, see Access Control List (ACL)
// Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
@@ -8695,7 +8681,7 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
//
// * By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
// xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
-// </Grantee> DisplayName is optional and ignored in the request
+// </Grantee> DisplayName is optional and ignored in the request.
//
// * By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
// xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
@@ -9141,7 +9127,7 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req
// PutPublicAccessBlock API operation for Amazon Simple Storage Service.
//
// Creates or modifies the PublicAccessBlock configuration for an Amazon S3
-// bucket. In order to use this operation, you must have the s3:PutBucketPublicAccessBlock
+// bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock
// permission. For more information about Amazon S3 permissions, see Specifying
// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html).
//
@@ -9351,7 +9337,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
// GLACIER storage class and typically complete within 12 hours from the
// DEEP_ARCHIVE storage class.
//
-// * Bulk - Bulk retrievals are Amazon Glacier’s lowest-cost retrieval
+// * Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval
// option, enabling you to retrieve large amounts, even petabytes, of data
// inexpensively in a day. Bulk retrievals typically complete within 5-12
// hours from the GLACIER storage class and typically complete within 48
@@ -9432,7 +9418,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//
// Returned Error Codes:
// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
-// This operation is not allowed against this storage tier
+// This operation is not allowed against this storage tier.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
@@ -9701,7 +9687,7 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou
// You can optionally request server-side encryption where Amazon S3 encrypts
// your data as it writes it to disks in its data centers and decrypts it for
// you when you access it. You have the option of providing your own encryption
-// key, or you can use the AWS-managed encryption keys. If you choose to provide
+// key, or you can use the AWS managed encryption keys. If you choose to provide
// your own encryption key, the request headers you provide in the request must
// match the headers you used in the request to initiate the upload by using
// CreateMultipartUpload. For more information, go to Using Server-Side Encryption
@@ -9711,7 +9697,7 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou
// Server-side encryption is supported by the S3 Multipart Upload actions. Unless
// you are using a customer-provided encryption key, you don't need to specify
// the encryption parameters in each UploadPart request. Instead, you only need
-// to specify the server side encryption parameters in the initial Initiate
+// to specify the server-side encryption parameters in the initial Initiate
// Multipart request. For more information, see CreateMultipartUpload.
//
// If you requested server-side encryption using a customer-provided encryption
@@ -9831,19 +9817,18 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req
// to your initiate request. Amazon S3 returns a unique identifier, the upload
// ID, that you must include in your upload part request.
//
-// For more information on using the UploadPartCopy operation, see the following
-// topics:
+// For more information about using the UploadPartCopy operation, see the following:
//
-// * For conceptual information on multipart uploads, go to Uploading Objects
+// * For conceptual information about multipart uploads, see Uploading Objects
// Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
// in the Amazon Simple Storage Service Developer Guide.
//
-// * For information on permissions required to use the multipart upload
-// API, go to Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// * For information about permissions required to use the multipart upload
+// API, see Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// * For information about copying objects using a single atomic operation
-// vs. the multipart upload, go to Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
+// vs. the multipart upload, see Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// * For information about using server-side encryption with customer-provided
@@ -9851,18 +9836,20 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req
// UploadPart.
//
// Note the following additional considerations about the request headers x-amz-copy-source-if-match,
-// x-amz-copy-source-if-none-match x-amz-copy-source-if-unmodified-since x-amz-copy-source-if-modified-since
+// x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, and
+// x-amz-copy-source-if-modified-since:
//
// * Consideration 1 - If both of the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
// headers are present in the request as follows: x-amz-copy-source-if-match
// condition evaluates to true, and; x-amz-copy-source-if-unmodified-since
-// condition evaluates to false; then, S3 returns 200 OK and copies the data.
+// condition evaluates to false; Amazon S3 returns 200 OK and copies the
+// data.
//
// * Consideration 2 - If both of the x-amz-copy-source-if-none-match and
// x-amz-copy-source-if-modified-since headers are present in the request
// as follows: x-amz-copy-source-if-none-match condition evaluates to false,
// and; x-amz-copy-source-if-modified-since condition evaluates to true;
-// then, S3 returns 412 Precondition Failed response code.
+// Amazon S3 returns 412 Precondition Failed response code.
//
// Versioning
//
@@ -9963,7 +9950,14 @@ func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortI
type AbortMultipartUploadInput struct {
_ struct{} `locationName:"AbortMultipartUploadRequest" type:"structure"`
- // The bucket to which the upload was taking place.
+ // The bucket name to which the upload was taking place.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -9975,8 +9969,9 @@ type AbortMultipartUploadInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// Upload ID that identifies the multipart upload.
@@ -10051,6 +10046,20 @@ func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadI
return s
}
+func (s *AbortMultipartUploadInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *AbortMultipartUploadInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type AbortMultipartUploadOutput struct {
_ struct{} `type:"structure"`
@@ -10782,7 +10791,7 @@ func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
return s
}
-// Describes how a uncompressed comma-separated values (CSV)-formatted input
+// Describes how an uncompressed comma-separated values (CSV)-formatted input
// object is formatted.
type CSVInput struct {
_ struct{} `type:"structure"`
@@ -10976,7 +10985,7 @@ type CloudFunctionConfiguration struct {
// If you don't provide one, Amazon S3 will assign an ID.
Id *string `type:"string"`
- // The role supporting the invocation of the lambda function
+ // The role supporting the invocation of the Lambda function
InvocationRole *string `type:"string"`
}
@@ -11066,8 +11075,9 @@ type CompleteMultipartUploadInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// ID for the initiated multipart upload.
@@ -11148,6 +11158,20 @@ func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartU
return s
}
+func (s *CompleteMultipartUploadInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *CompleteMultipartUploadInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type CompleteMultipartUploadOutput struct {
_ struct{} `type:"structure"`
@@ -11176,8 +11200,8 @@ type CompleteMultipartUploadOutput struct {
// request.
RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
// If you specified server-side encryption either with an Amazon S3-managed
@@ -11439,7 +11463,8 @@ type CopyObjectInput struct {
// Copies the object if it hasn't been modified since the specified time.
CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
- // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
+ // Specifies the algorithm to use when decrypting the source object (for example,
+ // AES256).
CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
@@ -11448,8 +11473,8 @@ type CopyObjectInput struct {
CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -11490,23 +11515,25 @@ type CopyObjectInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Specifies the AWS KMS Encryption Context to use for object encryption. The
@@ -11516,12 +11543,14 @@ type CopyObjectInput struct {
// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
// requests for an object protected by AWS KMS will fail if not made via SSL
- // or using SigV4. Documentation on configuring any of the officially supported
- // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
+ // or using SigV4. For information about configuring using any of the officially
+ // supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request
+ // Authentication (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
+ // in the Amazon S3 Developer Guide.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// The type of storage to use for the object. Defaults to 'STANDARD'.
@@ -11529,7 +11558,7 @@ type CopyObjectInput struct {
// The tag-set for the object destination object this value must be used in
// conjunction with the TaggingDirective. The tag-set must be encoded as URL
- // Query parameters
+ // Query parameters.
Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
// Specifies whether the object tag-set are copied from the source object or
@@ -11820,6 +11849,20 @@ func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput
return s
}
+func (s *CopyObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *CopyObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type CopyObjectOutput struct {
_ struct{} `type:"structure" payload:"CopyObjectResult"`
@@ -11842,7 +11885,7 @@ type CopyObjectOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
@@ -11851,12 +11894,12 @@ type CopyObjectOutput struct {
// the encryption context key-value pairs.
SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// Version ID of the newly created copy.
@@ -11933,7 +11976,7 @@ func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
return s
}
-// >Container for all response elements.
+// Container for all response elements.
type CopyObjectResult struct {
_ struct{} `type:"structure"`
@@ -12005,8 +12048,8 @@ func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
type CreateBucketConfiguration struct {
_ struct{} `type:"structure"`
- // Specifies the region where the bucket will be created. If you don't specify
- // a region, the bucket is created in US East (N. Virginia) Region (us-east-1).
+ // Specifies the Region where the bucket will be created. If you don't specify
+ // a Region, the bucket is created in the US East (N. Virginia) Region (us-east-1).
LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
}
@@ -12150,8 +12193,8 @@ func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketI
type CreateBucketOutput struct {
_ struct{} `type:"structure"`
- // Specifies the region where the bucket will be created. If you are creating
- // a bucket on the US East (N. Virginia) region (us-east-1), you do not need
+ // Specifies the Region where the bucket will be created. If you are creating
+ // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need
// to specify the location.
Location *string `location:"header" locationName:"Location" type:"string"`
}
@@ -12234,23 +12277,25 @@ type CreateMultipartUploadInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Specifies the AWS KMS Encryption Context to use for object encryption. The
@@ -12260,18 +12305,20 @@ type CreateMultipartUploadInput struct {
// Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
// requests for an object protected by AWS KMS will fail if not made via SSL
- // or using SigV4. Documentation on configuring any of the officially supported
- // AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
+ // or using SigV4. For information about configuring using any of the officially
+ // supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request
+ // Authentication (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
+ // in the Amazon S3 Developer Guide.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// The type of storage to use for the object. Defaults to 'STANDARD'.
StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
- // The tag-set for the object. The tag-set must be encoded as URL Query parameters
+ // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
// If the bucket is configured as a website, redirects requests for this object
@@ -12488,6 +12535,20 @@ func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *Creat
return s
}
+func (s *CreateMultipartUploadInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *CreateMultipartUploadInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type CreateMultipartUploadOutput struct {
_ struct{} `type:"structure"`
@@ -12508,6 +12569,13 @@ type CreateMultipartUploadOutput struct {
AbortRuleId *string `location:"header" locationName:"x-amz-abort-rule-id" type:"string"`
// Name of the bucket to which the multipart upload was initiated.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
Bucket *string `locationName:"Bucket" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -12523,7 +12591,7 @@ type CreateMultipartUploadOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
@@ -12532,12 +12600,12 @@ type CreateMultipartUploadOutput struct {
// the encryption context key-value pairs.
SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// ID for the initiated multipart upload.
@@ -12792,6 +12860,20 @@ func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketA
return s
}
+func (s *DeleteBucketAnalyticsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketAnalyticsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketAnalyticsConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -12854,6 +12936,20 @@ func (s *DeleteBucketCorsInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketCorsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketCorsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketCorsOutput struct {
_ struct{} `type:"structure"`
}
@@ -12917,6 +13013,20 @@ func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketEncryptionInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketEncryptionInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketEncryptionOutput struct {
_ struct{} `type:"structure"`
}
@@ -12979,6 +13089,20 @@ func (s *DeleteBucketInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketInventoryConfigurationInput struct {
_ struct{} `locationName:"DeleteBucketInventoryConfigurationRequest" type:"structure"`
@@ -13041,6 +13165,20 @@ func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketI
return s
}
+func (s *DeleteBucketInventoryConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketInventoryConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketInventoryConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -13103,6 +13241,20 @@ func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketLifecycleInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketLifecycleInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketLifecycleOutput struct {
_ struct{} `type:"structure"`
}
@@ -13179,6 +13331,20 @@ func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMet
return s
}
+func (s *DeleteBucketMetricsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketMetricsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketMetricsConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -13255,6 +13421,20 @@ func (s *DeleteBucketPolicyInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketPolicyInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketPolicyInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketPolicyOutput struct {
_ struct{} `type:"structure"`
}
@@ -13317,6 +13497,20 @@ func (s *DeleteBucketReplicationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketReplicationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketReplicationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketReplicationOutput struct {
_ struct{} `type:"structure"`
}
@@ -13379,6 +13573,20 @@ func (s *DeleteBucketTaggingInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketTaggingOutput struct {
_ struct{} `type:"structure"`
}
@@ -13441,6 +13649,20 @@ func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeleteBucketWebsiteInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketWebsiteInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteBucketWebsiteOutput struct {
_ struct{} `type:"structure"`
}
@@ -13523,7 +13745,7 @@ func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
// only <Status>Disabled</Status>. For an example configuration, see Basic Rule
// Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
//
-// If you don't specify the Filter element, Amazon S3 assumes the replication
+// If you don't specify the Filter element, Amazon S3 assumes that the replication
// configuration is the earlier version, V1. In the earlier version, Amazon
// S3 handled replication of delete markers differently. For more information,
// see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).
@@ -13558,6 +13780,13 @@ type DeleteObjectInput struct {
// The bucket name of the bucket containing the object.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -13572,14 +13801,15 @@ type DeleteObjectInput struct {
// The concatenation of the authentication device's serial number, a space,
// and the value that is displayed on your authentication device. Required to
- // permanently delete a versionedobject if versioning is configured with MFA
- // Deleteenabled.
+ // permanently delete a versioned object if versioning is configured with MFA
+ // delete enabled.
MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// VersionId used to reference a specific version of the object.
@@ -13661,6 +13891,20 @@ func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
return s
}
+func (s *DeleteObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteObjectOutput struct {
_ struct{} `type:"structure"`
@@ -13708,7 +13952,14 @@ func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
type DeleteObjectTaggingInput struct {
_ struct{} `locationName:"DeleteObjectTaggingRequest" type:"structure"`
- // The bucket containing the objects from which to remove the tags.
+ // The bucket name containing the objects from which to remove the tags.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -13779,6 +14030,20 @@ func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingIn
return s
}
+func (s *DeleteObjectTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteObjectTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteObjectTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -13807,6 +14072,13 @@ type DeleteObjectsInput struct {
// The bucket name containing the objects to delete.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -13823,13 +14095,14 @@ type DeleteObjectsInput struct {
// The concatenation of the authentication device's serial number, a space,
// and the value that is displayed on your authentication device. Required to
// permanently delete a versioned object if versioning is configured with MFA
- // Delete enabled.
+ // delete enabled.
MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
}
@@ -13904,6 +14177,20 @@ func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
return s
}
+func (s *DeleteObjectsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteObjectsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeleteObjectsOutput struct {
_ struct{} `type:"structure"`
@@ -13996,6 +14283,20 @@ func (s *DeletePublicAccessBlockInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *DeletePublicAccessBlockInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeletePublicAccessBlockInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type DeletePublicAccessBlockOutput struct {
_ struct{} `type:"structure"`
}
@@ -14066,7 +14367,7 @@ func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
}
// Specifies information about where to publish analysis or configuration results
-// for an Amazon S3 bucket.
+// for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).
type Destination struct {
_ struct{} `type:"structure"`
@@ -14081,7 +14382,7 @@ type Destination struct {
// direct Amazon S3 to change replica ownership to the AWS account that owns
// the destination bucket by specifying the AccessControlTranslation property,
// this is the account ID of the destination bucket owner. For more information,
- // see Replication Additional Configuration: Change Replica Owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html)
+ // see Replication Additional Configuration: Changing the Replica Owner (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html)
// in the Amazon Simple Storage Service Developer Guide.
Account *string `type:"string"`
@@ -14095,14 +14396,14 @@ type Destination struct {
// is specified, you must specify this element.
EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
- // A container specifying replication metrics-related information, including
- // whether emitting metrics and Amazon S3 events for replication are enabled.
- // In addition, contains configurations related to specific metrics or events.
- // Must be specified together with a ReplicationTime block.
+ // A container specifying replication metrics-related settings enabling metrics
+ // and Amazon S3 events for S3 Replication Time Control (S3 RTC). Must be specified
+ // together with a ReplicationTime block.
Metrics *Metrics `type:"structure"`
- // A container specifying the time when all objects and operations on objects
- // are replicated. Must be specified together with a Metrics block.
+ // A container specifying S3 Replication Time Control (S3 RTC), including whether
+ // S3 RTC is enabled and the time when all objects and operations on objects
+ // must be replicated. Must be specified together with a Metrics block.
ReplicationTime *ReplicationTime `type:"structure"`
// The storage class to use when replicating objects, such as standard or reduced
@@ -14207,7 +14508,7 @@ type Encryption struct {
_ struct{} `type:"structure"`
// The server-side encryption algorithm used when storing job results in Amazon
- // S3 (e.g., AES256, aws:kms).
+ // S3 (for example, AES256, aws:kms).
//
// EncryptionType is a required field
EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
@@ -14358,11 +14659,11 @@ type Error struct {
//
// * Code: BucketAlreadyOwnedByYou Description: The bucket you tried to create
// already exists, and you own it. Amazon S3 returns this error in all AWS
- // Regions except in the North Virginia region. For legacy compatibility,
+ // Regions except in the North Virginia Region. For legacy compatibility,
// if you re-create an existing bucket that you already own in the North
- // Virginia region, Amazon S3 returns 200 OK and resets the bucket access
- // control lists (ACLs). Code: 409 Conflict (in all regions except the North
- // Virginia region) SOAP Fault Code Prefix: Client
+ // Virginia Region, Amazon S3 returns 200 OK and resets the bucket access
+ // control lists (ACLs). Code: 409 Conflict (in all Regions except the North
+ // Virginia Region) SOAP Fault Code Prefix: Client
//
// * Code: BucketNotEmpty Description: The bucket you tried to delete is
// not empty. HTTP Status Code: 409 Conflict SOAP Fault Code Prefix: Client
@@ -14765,13 +15066,12 @@ func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
return s
}
-// A container that specifies information about existing object replication.
-// You can choose whether to enable or disable the replication of existing objects.
+// Optional configuration to replicate existing source bucket objects. For more
+// information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication)
+// in the Amazon S3 Developer Guide.
type ExistingObjectReplication struct {
_ struct{} `type:"structure"`
- // Specifies whether existing object replication is enabled.
- //
// Status is a required field
Status *string `type:"string" required:"true" enum:"ExistingObjectReplicationStatus"`
}
@@ -14891,6 +15191,20 @@ func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketAccelerateConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketAccelerateConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketAccelerateConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -14962,6 +15276,20 @@ func (s *GetBucketAclInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketAclInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketAclInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketAclOutput struct {
_ struct{} `type:"structure"`
@@ -15056,6 +15384,20 @@ func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyti
return s
}
+func (s *GetBucketAnalyticsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketAnalyticsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketAnalyticsConfigurationOutput struct {
_ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
@@ -15127,6 +15469,20 @@ func (s *GetBucketCorsInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketCorsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketCorsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketCorsOutput struct {
_ struct{} `type:"structure"`
@@ -15200,6 +15556,20 @@ func (s *GetBucketEncryptionInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketEncryptionInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketEncryptionInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketEncryptionOutput struct {
_ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
@@ -15285,6 +15655,20 @@ func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInvento
return s
}
+func (s *GetBucketInventoryConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketInventoryConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketInventoryConfigurationOutput struct {
_ struct{} `type:"structure" payload:"InventoryConfiguration"`
@@ -15311,7 +15695,7 @@ func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *Inv
type GetBucketLifecycleConfigurationInput struct {
_ struct{} `locationName:"GetBucketLifecycleConfigurationRequest" type:"structure"`
- // The name of the bucket for which to the the lifecycle information.
+ // The name of the bucket for which to get the lifecycle information.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -15356,6 +15740,20 @@ func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketLifecycleConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketLifecycleConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -15382,7 +15780,7 @@ func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *Ge
type GetBucketLifecycleInput struct {
_ struct{} `locationName:"GetBucketLifecycleRequest" type:"structure"`
- // The name of the bucket for which to the the lifecycle information.
+ // The name of the bucket for which to get the lifecycle information.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -15427,6 +15825,20 @@ func (s *GetBucketLifecycleInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketLifecycleInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketLifecycleInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketLifecycleOutput struct {
_ struct{} `type:"structure"`
@@ -15498,11 +15910,25 @@ func (s *GetBucketLocationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketLocationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketLocationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketLocationOutput struct {
_ struct{} `type:"structure"`
- // Specifies the region where the bucket resides. For a list of all the Amazon
- // S3 supported location constraints by region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
+ // Specifies the Region where the bucket resides. For a list of all the Amazon
+ // S3 supported location constraints by Region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
}
@@ -15570,6 +15996,20 @@ func (s *GetBucketLoggingInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketLoggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketLoggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketLoggingOutput struct {
_ struct{} `type:"structure"`
@@ -15658,6 +16098,20 @@ func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsCo
return s
}
+func (s *GetBucketMetricsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketMetricsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketMetricsConfigurationOutput struct {
_ struct{} `type:"structure" payload:"MetricsConfiguration"`
@@ -15729,6 +16183,20 @@ func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketNotificationConfigurationRequest) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketNotificationConfigurationRequest) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketPolicyInput struct {
_ struct{} `locationName:"GetBucketPolicyRequest" type:"structure"`
@@ -15777,6 +16245,20 @@ func (s *GetBucketPolicyInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketPolicyInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketPolicyInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketPolicyOutput struct {
_ struct{} `type:"structure" payload:"Policy"`
@@ -15848,6 +16330,20 @@ func (s *GetBucketPolicyStatusInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketPolicyStatusInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketPolicyStatusInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketPolicyStatusOutput struct {
_ struct{} `type:"structure" payload:"PolicyStatus"`
@@ -15919,6 +16415,20 @@ func (s *GetBucketReplicationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketReplicationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketReplicationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketReplicationOutput struct {
_ struct{} `type:"structure" payload:"ReplicationConfiguration"`
@@ -15991,6 +16501,20 @@ func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketRequestPaymentInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketRequestPaymentInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketRequestPaymentOutput struct {
_ struct{} `type:"structure"`
@@ -16062,6 +16586,20 @@ func (s *GetBucketTaggingInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -16135,6 +16673,20 @@ func (s *GetBucketVersioningInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketVersioningInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketVersioningInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketVersioningOutput struct {
_ struct{} `type:"structure"`
@@ -16217,6 +16769,20 @@ func (s *GetBucketWebsiteInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetBucketWebsiteInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketWebsiteInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetBucketWebsiteOutput struct {
_ struct{} `type:"structure"`
@@ -16271,7 +16837,14 @@ func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWeb
type GetObjectAclInput struct {
_ struct{} `locationName:"GetObjectAclRequest" type:"structure"`
- // The bucket name of the object for which to get the ACL information.
+ // The bucket name that contains the object for which to get the ACL information.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -16283,8 +16856,9 @@ type GetObjectAclInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// VersionId used to reference a specific version of the object.
@@ -16354,6 +16928,20 @@ func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
return s
}
+func (s *GetObjectAclInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectAclInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectAclOutput struct {
_ struct{} `type:"structure"`
@@ -16401,6 +16989,13 @@ type GetObjectInput struct {
// The bucket name containing the object.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -16431,13 +17026,14 @@ type GetObjectInput struct {
PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
// Downloads the specified range bytes of an object. For more information about
- // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
+ // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
Range *string `location:"header" locationName:"Range" type:"string"`
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// Sets the Cache-Control header of the response.
@@ -16458,19 +17054,20 @@ type GetObjectInput struct {
// Sets the Expires header of the response.
ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// VersionId used to reference a specific version of the object.
@@ -16637,10 +17234,32 @@ func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
return s
}
+func (s *GetObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectLegalHoldInput struct {
_ struct{} `locationName:"GetObjectLegalHoldRequest" type:"structure"`
- // The bucket containing the object whose Legal Hold status you want to retrieve.
+ // The bucket name containing the object whose Legal Hold status you want to
+ // retrieve.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -16652,8 +17271,9 @@ type GetObjectLegalHoldInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// The version ID of the object whose Legal Hold status you want to retrieve.
@@ -16723,6 +17343,20 @@ func (s *GetObjectLegalHoldInput) SetVersionId(v string) *GetObjectLegalHoldInpu
return s
}
+func (s *GetObjectLegalHoldInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectLegalHoldInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectLegalHoldOutput struct {
_ struct{} `type:"structure" payload:"LegalHold"`
@@ -16794,6 +17428,20 @@ func (s *GetObjectLockConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetObjectLockConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectLockConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectLockConfigurationOutput struct {
_ struct{} `type:"structure" payload:"ObjectLockConfiguration"`
@@ -16820,7 +17468,7 @@ func (s *GetObjectLockConfigurationOutput) SetObjectLockConfiguration(v *ObjectL
type GetObjectOutput struct {
_ struct{} `type:"structure" payload:"Body"`
- // Indicates that a range of bytes was specifed.
+ // Indicates that a range of bytes was specified.
AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
// Object data.
@@ -16854,11 +17502,11 @@ type GetObjectOutput struct {
DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
// An ETag is an opaque identifier assigned by a web server to a specific version
- // of a resource found at a URL
+ // of a resource found at a URL.
ETag *string `location:"header" locationName:"ETag" type:"string"`
// If the object expiration is configured (see PUT Bucket lifecycle), the response
- // includes this header. It includes the expiry-date and rule-id key value pairs
+ // includes this header. It includes the expiry-date and rule-id key-value pairs
// providing object expiration information. The value of the rule-id is URL
// encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
@@ -16909,16 +17557,16 @@ type GetObjectOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// Provides storage class information of the object. Amazon S3 returns this
@@ -17136,7 +17784,15 @@ func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput
type GetObjectRetentionInput struct {
_ struct{} `locationName:"GetObjectRetentionRequest" type:"structure"`
- // The bucket containing the object whose retention settings you want to retrieve.
+ // The bucket name containing the object whose retention settings you want to
+ // retrieve.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -17148,8 +17804,9 @@ type GetObjectRetentionInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// The version ID for the object whose retention settings you want to retrieve.
@@ -17219,6 +17876,20 @@ func (s *GetObjectRetentionInput) SetVersionId(v string) *GetObjectRetentionInpu
return s
}
+func (s *GetObjectRetentionInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectRetentionInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectRetentionOutput struct {
_ struct{} `type:"structure" payload:"Retention"`
@@ -17247,6 +17918,13 @@ type GetObjectTaggingInput struct {
// The bucket name containing the object for which to get the tagging information.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -17316,6 +17994,20 @@ func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
return s
}
+func (s *GetObjectTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -17366,8 +18058,9 @@ type GetObjectTorrentInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
}
@@ -17428,6 +18121,20 @@ func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput
return s
}
+func (s *GetObjectTorrentInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectTorrentInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetObjectTorrentOutput struct {
_ struct{} `type:"structure" payload:"Body"`
@@ -17510,6 +18217,20 @@ func (s *GetPublicAccessBlockInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *GetPublicAccessBlockInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetPublicAccessBlockInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type GetPublicAccessBlockOutput struct {
_ struct{} `type:"structure" payload:"PublicAccessBlockConfiguration"`
@@ -17744,6 +18465,20 @@ func (s *HeadBucketInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *HeadBucketInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *HeadBucketInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type HeadBucketOutput struct {
_ struct{} `type:"structure"`
}
@@ -17794,28 +18529,30 @@ type HeadObjectInput struct {
PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
// Downloads the specified range bytes of an object. For more information about
- // the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
+ // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
Range *string `location:"header" locationName:"Range" type:"string"`
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// VersionId used to reference a specific version of the object.
@@ -17946,10 +18683,24 @@ func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
return s
}
+func (s *HeadObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *HeadObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type HeadObjectOutput struct {
_ struct{} `type:"structure"`
- // Indicates that a range of bytes was specifed.
+ // Indicates that a range of bytes was specified.
AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
// Specifies caching behavior along the request/reply chain.
@@ -17977,11 +18728,11 @@ type HeadObjectOutput struct {
DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
// An ETag is an opaque identifier assigned by a web server to a specific version
- // of a resource found at a URL
+ // of a resource found at a URL.
ETag *string `location:"header" locationName:"ETag" type:"string"`
// If the object expiration is configured (see PUT Bucket lifecycle), the response
- // includes this header. It includes the expiry-date and rule-id key value pairs
+ // includes this header. It includes the expiry-date and rule-id key-value pairs
// providing object expiration information. The value of the rule-id is URL
// encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
@@ -18023,24 +18774,24 @@ type HeadObjectOutput struct {
// Amazon S3 can return this header if your request involves a bucket that is
// either a source or destination in a replication rule.
//
- // In replication you have a source bucket on which you configure replication
+ // In replication, you have a source bucket on which you configure replication
// and destination bucket where Amazon S3 stores object replicas. When you request
// an object (GetObject) or object metadata (HeadObject) from these buckets,
// Amazon S3 will return the x-amz-replication-status header in the response
// as follows:
//
- // * If requesting object from the source bucket — Amazon S3 will return
- // the x-amz-replication-status header if object in your request is eligible
- // for replication. For example, suppose in your replication configuration
- // you specify object prefix "TaxDocs" requesting Amazon S3 to replicate
- // objects with key prefix "TaxDocs". Then any objects you upload with this
- // key name prefix, for example "TaxDocs/document1.pdf", is eligible for
- // replication. For any object request with this key name prefix Amazon S3
- // will return the x-amz-replication-status header with value PENDING, COMPLETED
- // or FAILED indicating object replication status.
- //
- // * If requesting object from the destination bucket — Amazon S3 will
- // return the x-amz-replication-status header with value REPLICA if object
+ // * If requesting an object from the source bucket — Amazon S3 will return
+ // the x-amz-replication-status header if the object in your request is eligible
+ // for replication. For example, suppose that in your replication configuration,
+ // you specify object prefix TaxDocs requesting Amazon S3 to replicate objects
+ // with key prefix TaxDocs. Any objects you upload with this key name prefix,
+ // for example TaxDocs/document1.pdf, are eligible for replication. For any
+ // object request with this key name prefix, Amazon S3 will return the x-amz-replication-status
+ // header with value PENDING, COMPLETED or FAILED indicating object replication
+ // status.
+ //
+ // * If requesting an object from the destination bucket — Amazon S3 will
+ // return the x-amz-replication-status header with value REPLICA if the object
// in your request is a replica that Amazon S3 created.
//
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html).
@@ -18072,18 +18823,18 @@ type HeadObjectOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
// If the object is stored using server-side encryption either with an AWS KMS
// customer master key (CMK) or an Amazon S3-managed encryption key, the response
- // includes this header with the value of the Server-side encryption algorithm
- // used when storing this object in S3 (e.g., AES256, aws:kms).
+ // includes this header with the value of the server-side encryption algorithm
+ // used when storing this object in Amazon S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// Provides storage class information of the object. Amazon S3 returns this
@@ -18284,9 +19035,10 @@ type IndexDocument struct {
_ struct{} `type:"structure"`
// A suffix that is appended to a request that is for a directory on the website
- // endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/
- // the data that is returned will be for the object with the key name images/index.html)
- // The suffix must not be empty and must not include a slash character.
+ // endpoint (for example,if the suffix is index.html and you make a request
+ // to samplebucket/images/ the data that is returned will be for the object
+ // with the key name images/index.html) The suffix must not be empty and must
+ // not include a slash character.
//
// Suffix is a required field
Suffix *string `type:"string" required:"true"`
@@ -18321,7 +19073,7 @@ func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
return s
}
-// Container element that identifies who initiated the ultipart upload.
+// Container element that identifies who initiated the multipart upload.
type Initiator struct {
_ struct{} `type:"structure"`
@@ -18592,10 +19344,10 @@ func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestin
type InventoryEncryption struct {
_ struct{} `type:"structure"`
- // Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
+ // Specifies the use of SSE-KMS to encrypt delivered inventory reports.
SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
- // Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
+ // Specifies the use of SSE-S3 to encrypt delivered inventory reports.
SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
}
@@ -18684,7 +19436,7 @@ type InventoryS3BucketDestination struct {
// The ID of the account that owns the destination bucket.
AccountId *string `type:"string"`
- // The Amazon resource name (ARN) of the bucket where inventory results will
+ // The Amazon Resource Name (ARN) of the bucket where inventory results will
// be published.
//
// Bucket is a required field
@@ -18862,7 +19614,7 @@ func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
type KeyFilter struct {
_ struct{} `type:"structure"`
- // A list of containers for the key value pair that defines the criteria for
+ // A list of containers for the key-value pair that defines the criteria for
// the filter rule.
FilterRules []*FilterRule `locationName:"FilterRule" type:"list" flattened:"true"`
}
@@ -19086,10 +19838,10 @@ type LifecycleRule struct {
NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
// Specifies the transition rule for the lifecycle rule that describes when
- // noncurrent objects transition to the a specific storage class. If your bucket
+ // noncurrent objects transition to a specific storage class. If your bucket
// is versioning-enabled (or versioning is suspended), you can set this action
- // to request that Amazon S3 transition noncurrent object versions to the a
- // specifc storage class at a set period in the object's lifetime.
+ // to request that Amazon S3 transition noncurrent object versions to a specific
+ // storage class at a set period in the object's lifetime.
NoncurrentVersionTransitions []*NoncurrentVersionTransition `locationName:"NoncurrentVersionTransition" type:"list" flattened:"true"`
// Prefix identifying one or more objects to which the rule applies. This is
@@ -19369,6 +20121,20 @@ func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string)
return s
}
+func (s *ListBucketAnalyticsConfigurationsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListBucketAnalyticsConfigurationsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListBucketAnalyticsConfigurationsOutput struct {
_ struct{} `type:"structure"`
@@ -19484,6 +20250,20 @@ func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string)
return s
}
+func (s *ListBucketInventoryConfigurationsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListBucketInventoryConfigurationsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListBucketInventoryConfigurationsOutput struct {
_ struct{} `type:"structure"`
@@ -19599,6 +20379,20 @@ func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *L
return s
}
+func (s *ListBucketMetricsConfigurationsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListBucketMetricsConfigurationsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListBucketMetricsConfigurationsOutput struct {
_ struct{} `type:"structure"`
@@ -19706,6 +20500,13 @@ type ListMultipartUploadsInput struct {
// Name of the bucket to which the multipart upload was initiated.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -19832,6 +20633,20 @@ func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUp
return s
}
+func (s *ListMultipartUploadsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListMultipartUploadsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListMultipartUploadsOutput struct {
_ struct{} `type:"structure"`
@@ -19981,7 +20796,14 @@ func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMulti
type ListObjectVersionsInput struct {
_ struct{} `locationName:"ListObjectVersionsRequest" type:"structure"`
- // The name of the bucket that contains the objects.
+ // The bucket name that contains the objects.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -20097,6 +20919,20 @@ func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersio
return s
}
+func (s *ListObjectVersionsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListObjectVersionsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListObjectVersionsOutput struct {
_ struct{} `type:"structure"`
@@ -20107,7 +20943,7 @@ type ListObjectVersionsOutput struct {
// Container for an object that is a delete marker.
DeleteMarkers []*DeleteMarkerEntry `locationName:"DeleteMarker" type:"list" flattened:"true"`
- // The delimeter grouping the included keys. A delimiter is a character that
+ // The delimiter grouping the included keys. A delimiter is a character that
// you specify to group keys. All keys that contain the same string between
// the prefix and the first occurrence of the delimiter are grouped under a
// single result element in CommonPrefixes. These groups are counted as one
@@ -20124,20 +20960,20 @@ type ListObjectVersionsOutput struct {
// KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.
EncodingType *string `type:"string" enum:"EncodingType"`
- // A flag that indicates whether or not Amazon S3 returned all of the results
- // that satisfied the search criteria. If your results were truncated, you can
- // make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
+ // A flag that indicates whether Amazon S3 returned all of the results that
+ // satisfied the search criteria. If your results were truncated, you can make
+ // a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker
// response parameters as a starting place in another request to return the
// rest of the results.
IsTruncated *bool `type:"boolean"`
- // Marks the last Key returned in a truncated response.
+ // Marks the last key returned in a truncated response.
KeyMarker *string `type:"string"`
// Specifies the maximum number of objects to return.
MaxKeys *int64 `type:"integer"`
- // Bucket owner's name.
+ // Bucket name.
Name *string `type:"string"`
// When the number of responses exceeds the value of MaxKeys, NextKeyMarker
@@ -20154,7 +20990,7 @@ type ListObjectVersionsOutput struct {
// Selects objects that start with the value supplied by this parameter.
Prefix *string `type:"string"`
- // Marks the last version of the Key returned in a truncated response.
+ // Marks the last version of the key returned in a truncated response.
VersionIdMarker *string `type:"string"`
// Container for version information.
@@ -20359,6 +21195,20 @@ func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
return s
}
+func (s *ListObjectsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListObjectsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListObjectsOutput struct {
_ struct{} `type:"structure"`
@@ -20392,8 +21242,8 @@ type ListObjectsOutput struct {
// Encoding type used by Amazon S3 to encode object keys in the response.
EncodingType *string `type:"string" enum:"EncodingType"`
- // A flag that indicates whether or not Amazon S3 returned all of the results
- // that satisfied the search criteria.
+ // A flag that indicates whether Amazon S3 returned all of the results that
+ // satisfied the search criteria.
IsTruncated *bool `type:"boolean"`
// Indicates where in the bucket listing begins. Marker is included in the response
@@ -20403,7 +21253,7 @@ type ListObjectsOutput struct {
// The maximum number of keys returned in the response body.
MaxKeys *int64 `type:"integer"`
- // Name of the bucket.
+ // Bucket name.
Name *string `type:"string"`
// When response is truncated (the IsTruncated element value in the response
@@ -20492,7 +21342,14 @@ func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
type ListObjectsV2Input struct {
_ struct{} `locationName:"ListObjectsV2Request" type:"structure"`
- // Name of the bucket to list.
+ // Bucket name to list.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -20510,7 +21367,7 @@ type ListObjectsV2Input struct {
// The owner field is not present in listV2 by default, if you want to return
// owner field with each key in the result then set the fetch owner field to
- // true
+ // true.
FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`
// Sets the maximum number of keys returned in the response. The response might
@@ -20617,6 +21474,20 @@ func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
return s
}
+func (s *ListObjectsV2Input) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListObjectsV2Input) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListObjectsV2Output struct {
_ struct{} `type:"structure"`
@@ -20673,10 +21544,17 @@ type ListObjectsV2Output struct {
// contain fewer keys but will never contain more.
MaxKeys *int64 `type:"integer"`
- // Name of the bucket.
+ // Bucket name.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
Name *string `type:"string"`
- // NextContinuationToken is sent when isTruncated is true which means there
+ // NextContinuationToken is sent when isTruncated is true, which means there
// are more keys in the bucket that can be listed. The next list requests to
// Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken
// is obfuscated and is not a real key
@@ -20774,7 +21652,14 @@ func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
type ListPartsInput struct {
_ struct{} `locationName:"ListPartsRequest" type:"structure"`
- // Name of the bucket to which the parts are being uploaded.->
+ // Name of the bucket to which the parts are being uploaded.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -20793,8 +21678,9 @@ type ListPartsInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// Upload ID identifying the multipart upload whose parts are being listed.
@@ -20881,6 +21767,20 @@ func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
return s
}
+func (s *ListPartsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListPartsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type ListPartsOutput struct {
_ struct{} `type:"structure"`
@@ -20905,8 +21805,8 @@ type ListPartsOutput struct {
// Container element that identifies who initiated the multipart upload. If
// the initiator is an AWS account, this element provides the same information
- // as the Owner element. If the initiator is an IAM User, then this element
- // provides the user ARN and display name.
+ // as the Owner element. If the initiator is an IAM User, this element provides
+ // the user ARN and display name.
Initiator *Initiator `type:"structure"`
// Indicates whether the returned list of parts is truncated. A true value indicates
@@ -21052,7 +21952,8 @@ func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
return s
}
-// Describes an S3 location that will receive the results of the restore request.
+// Describes an Amazon S3 location that will receive the results of the restore
+// request.
type Location struct {
_ struct{} `type:"structure"`
@@ -21189,7 +22090,7 @@ type LoggingEnabled struct {
// Specifies the bucket where you want Amazon S3 to store server access logs.
// You can have your logs delivered to any bucket that you own, including the
// same bucket that is being logged. You can also configure multiple buckets
- // to deliver their logs to the same target bucket. In this case you should
+ // to deliver their logs to the same target bucket. In this case, you should
// choose a different TargetPrefix for each source bucket so that the delivered
// log files can be distinguished by key.
//
@@ -21294,10 +22195,9 @@ func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
return s
}
-// A container specifying replication metrics-related information, including
-// whether emitting metrics and Amazon S3 events for replication are enabled.
-// In addition, contains configurations related to specific metrics or events.
-// Must be specified together with a ReplicationTime block.
+// A container specifying replication metrics-related settings enabling metrics
+// and Amazon S3 events for S3 Replication Time Control (S3 RTC). Must be specified
+// together with a ReplicationTime block.
type Metrics struct {
_ struct{} `type:"structure"`
@@ -21646,8 +22546,8 @@ type NoncurrentVersionTransition struct {
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
- // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
- // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
+ // calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent
+ // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
// in the Amazon Simple Storage Service Developer Guide.
NoncurrentDays *int64 `type:"integer"`
@@ -21774,7 +22674,7 @@ type NotificationConfigurationDeprecated struct {
// when Amazon S3 detects specified events.
QueueConfiguration *QueueConfigurationDeprecated `type:"structure"`
- // This data type is deperecated. A container for specifying the configuration
+ // This data type is deprecated. A container for specifying the configuration
// for publication of messages to an Amazon Simple Notification Service (Amazon
// SNS) topic when Amazon S3 detects specified events.
TopicConfiguration *TopicConfigurationDeprecated `type:"structure"`
@@ -22075,7 +22975,7 @@ func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRul
type ObjectVersion struct {
_ struct{} `type:"structure"`
- // The entity tag is an MD5 hash of that version of the object
+ // The entity tag is an MD5 hash of that version of the object.
ETag *string `type:"string"`
// Specifies whether the object is (true) or is not (false) the latest version
@@ -22088,7 +22988,7 @@ type ObjectVersion struct {
// Date and time the object was last modified.
LastModified *time.Time `type:"timestamp"`
- // Specifies the Owner of the object.
+ // Specifies the owner of the object.
Owner *Owner `type:"structure"`
// Size in bytes of the object.
@@ -22231,14 +23131,14 @@ func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
return s
}
-// Container for the owner's display name and ID
+// Container for the owner's display name and ID.
type Owner struct {
_ struct{} `type:"structure"`
- // Container for the display name of the owner
+ // Container for the display name of the owner.
DisplayName *string `type:"string"`
- // Container for the ID of the owner
+ // Container for the ID of the owner.
ID *string `type:"string"`
}
@@ -22442,7 +23342,7 @@ func (s *ProgressEvent) UnmarshalEvent(
// The PublicAccessBlock configuration that you want to apply to this Amazon
// S3 bucket. You can enable the configuration options in any combination. For
// more information about when Amazon S3 considers a bucket or object public,
-// see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev//access-control-block-public-access.html#access-control-block-public-access-policy-status)
+// see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// in the Amazon Simple Storage Service Developer Guide.
type PublicAccessBlockConfiguration struct {
_ struct{} `type:"structure"`
@@ -22583,6 +23483,20 @@ func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+func (s *PutBucketAccelerateConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketAccelerateConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketAccelerateConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -22714,6 +23628,20 @@ func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
return s
}
+func (s *PutBucketAclInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketAclInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketAclOutput struct {
_ struct{} `type:"structure"`
}
@@ -22809,6 +23737,20 @@ func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyti
return s
}
+func (s *PutBucketAnalyticsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketAnalyticsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketAnalyticsConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -22893,6 +23835,20 @@ func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBuck
return s
}
+func (s *PutBucketCorsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketCorsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketCorsOutput struct {
_ struct{} `type:"structure"`
}
@@ -22978,6 +23934,20 @@ func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *Serve
return s
}
+func (s *PutBucketEncryptionInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketEncryptionInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketEncryptionOutput struct {
_ struct{} `type:"structure"`
}
@@ -23073,6 +24043,20 @@ func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *Inve
return s
}
+func (s *PutBucketInventoryConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketInventoryConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketInventoryConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23149,6 +24133,20 @@ func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *Buck
return s
}
+func (s *PutBucketLifecycleConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketLifecycleConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketLifecycleConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23223,6 +24221,20 @@ func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfigur
return s
}
+func (s *PutBucketLifecycleInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketLifecycleInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketLifecycleOutput struct {
_ struct{} `type:"structure"`
}
@@ -23304,6 +24316,20 @@ func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *
return s
}
+func (s *PutBucketLoggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketLoggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketLoggingOutput struct {
_ struct{} `type:"structure"`
}
@@ -23399,6 +24425,20 @@ func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsC
return s
}
+func (s *PutBucketMetricsConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketMetricsConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketMetricsConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23481,6 +24521,20 @@ func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v
return s
}
+func (s *PutBucketNotificationConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketNotificationConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketNotificationConfigurationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23557,6 +24611,20 @@ func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *Notificatio
return s
}
+func (s *PutBucketNotificationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketNotificationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketNotificationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23643,6 +24711,20 @@ func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
return s
}
+func (s *PutBucketPolicyInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketPolicyInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketPolicyOutput struct {
_ struct{} `type:"structure"`
}
@@ -23733,6 +24815,20 @@ func (s *PutBucketReplicationInput) SetToken(v string) *PutBucketReplicationInpu
return s
}
+func (s *PutBucketReplicationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketReplicationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketReplicationOutput struct {
_ struct{} `type:"structure"`
}
@@ -23814,6 +24910,20 @@ func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *Request
return s
}
+func (s *PutBucketRequestPaymentInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketRequestPaymentInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketRequestPaymentOutput struct {
_ struct{} `type:"structure"`
}
@@ -23895,6 +25005,20 @@ func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
return s
}
+func (s *PutBucketTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketTaggingOutput struct {
_ struct{} `type:"structure"`
}
@@ -23981,6 +25105,20 @@ func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfi
return s
}
+func (s *PutBucketVersioningInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketVersioningInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketVersioningOutput struct {
_ struct{} `type:"structure"`
}
@@ -24062,6 +25200,20 @@ func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration)
return s
}
+func (s *PutBucketWebsiteInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketWebsiteInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutBucketWebsiteOutput struct {
_ struct{} `type:"structure"`
}
@@ -24080,13 +25232,21 @@ type PutObjectAclInput struct {
_ struct{} `locationName:"PutObjectAclRequest" type:"structure" payload:"AccessControlPolicy"`
// The canned ACL to apply to the object. For more information, see Canned ACL
- // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
+ // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
// Contains the elements that set the ACL permissions for an object per grantee.
AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
- // The name of the bucket to which the ACL is being added.
+ // The bucket name that contains the object to which you want to attach the
+ // ACL.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -24114,8 +25274,9 @@ type PutObjectAclInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// VersionId used to reference a specific version of the object.
@@ -24232,6 +25393,20 @@ func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
return s
}
+func (s *PutObjectAclInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectAclInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectAclOutput struct {
_ struct{} `type:"structure"`
@@ -24266,7 +25441,14 @@ type PutObjectInput struct {
// Object data.
Body io.ReadSeeker `type:"blob"`
- // Name of the bucket to which the PUT operation was initiated.
+ // Bucket name to which the PUT operation was initiated.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -24342,23 +25524,25 @@ type PutObjectInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Specifies the AWS KMS Encryption Context to use for object encryption. The
@@ -24366,18 +25550,18 @@ type PutObjectInput struct {
// encryption context key-value pairs.
SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
- // If the x-amz-server-side-encryption is present and has the value of aws:kms,
+ // If x-amz-server-side-encryption is present and has the value of aws:kms,
// this header specifies the ID of the AWS Key Management Service (AWS KMS)
// customer master key (CMK) that was used for the object.
//
// If the value of x-amz-server-side-encryption is aws:kms, this header specifies
// the ID of the AWS KMS CMK that will be used for the object. If you specify
- // x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id,
+ // x-amz-server-side-encryption:aws:kms, but do not providex-amz-server-side-encryption-aws-kms-key-id,
// Amazon S3 uses the AWS managed CMK in AWS to protect the data.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// If you don't specify, Standard is the default storage class. Amazon S3 supports
@@ -24391,7 +25575,7 @@ type PutObjectInput struct {
// If the bucket is configured as a website, redirects requests for this object
// to another object in the same bucket or to an external URL. Amazon S3 stores
// the value of this header in the object metadata. For information about object
- // metadata, see .
+ // metadata, see Object Key and Metadata (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html).
//
// In the following example, the request header sets the redirect to an object
// (anotherPage.html) in the same bucket:
@@ -24635,10 +25819,32 @@ func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
return s
}
+func (s *PutObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectLegalHoldInput struct {
_ struct{} `locationName:"PutObjectLegalHoldRequest" type:"structure" payload:"LegalHold"`
- // The bucket containing the object that you want to place a Legal Hold on.
+ // The bucket name containing the object that you want to place a Legal Hold
+ // on.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -24654,8 +25860,9 @@ type PutObjectLegalHoldInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// The version ID of the object that you want to place a Legal Hold on.
@@ -24731,6 +25938,20 @@ func (s *PutObjectLegalHoldInput) SetVersionId(v string) *PutObjectLegalHoldInpu
return s
}
+func (s *PutObjectLegalHoldInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectLegalHoldInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectLegalHoldOutput struct {
_ struct{} `type:"structure"`
@@ -24768,8 +25989,9 @@ type PutObjectLockConfigurationInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// A token to allow Object Lock to be enabled for an existing bucket.
@@ -24833,6 +26055,20 @@ func (s *PutObjectLockConfigurationInput) SetToken(v string) *PutObjectLockConfi
return s
}
+func (s *PutObjectLockConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectLockConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectLockConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -24879,7 +26115,7 @@ type PutObjectOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
@@ -24888,9 +26124,9 @@ type PutObjectOutput struct {
// the encryption context key-value pairs.
SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
- // If the x-amz-server-side-encryption is present and has the value of aws:kms,
- // this header specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If x-amz-server-side-encryption is present and has the value of aws:kms,
+ // this header specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
// If you specified server-side encryption either with an AWS KMS customer master
@@ -24970,9 +26206,16 @@ func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
type PutObjectRetentionInput struct {
_ struct{} `locationName:"PutObjectRetentionRequest" type:"structure" payload:"Retention"`
- // The bucket that contains the object you want to apply this Object Retention
+ // The bucket name that contains the object you want to apply this Object Retention
// configuration to.
//
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
+ //
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -24987,8 +26230,9 @@ type PutObjectRetentionInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// The container element for the Object Retention configuration.
@@ -25074,6 +26318,20 @@ func (s *PutObjectRetentionInput) SetVersionId(v string) *PutObjectRetentionInpu
return s
}
+func (s *PutObjectRetentionInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectRetentionInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectRetentionOutput struct {
_ struct{} `type:"structure"`
@@ -25101,7 +26359,14 @@ func (s *PutObjectRetentionOutput) SetRequestCharged(v string) *PutObjectRetenti
type PutObjectTaggingInput struct {
_ struct{} `locationName:"PutObjectTaggingRequest" type:"structure" payload:"Tagging"`
- // The bucket containing the object.
+ // The bucket name containing the object.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -25191,6 +26456,20 @@ func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
return s
}
+func (s *PutObjectTaggingInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutObjectTaggingInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutObjectTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -25281,6 +26560,20 @@ func (s *PutPublicAccessBlockInput) SetPublicAccessBlockConfiguration(v *PublicA
return s
}
+func (s *PutPublicAccessBlockInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutPublicAccessBlockInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type PutPublicAccessBlockOutput struct {
_ struct{} `type:"structure"`
}
@@ -25300,7 +26593,7 @@ func (s PutPublicAccessBlockOutput) GoString() string {
type QueueConfiguration struct {
_ struct{} `type:"structure"`
- // A collection of bucket events for which to send notiications
+ // A collection of bucket events for which to send notifications
//
// Events is a required field
Events []*string `locationName:"Event" type:"list" flattened:"true" required:"true"`
@@ -25371,10 +26664,10 @@ func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
return s
}
-// This data type is deprecated. Please use QueueConfiguration for the same
-// purposes. This dat type specifies the configuration for publishing messages
-// to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects
-// specified events.
+// This data type is deprecated. Use QueueConfiguration for the same purposes.
+// This data type specifies the configuration for publishing messages to an
+// Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified
+// events.
type QueueConfigurationDeprecated struct {
_ struct{} `type:"structure"`
@@ -25383,7 +26676,7 @@ type QueueConfigurationDeprecated struct {
// Deprecated: Event has been deprecated
Event *string `deprecated:"true" type:"string" enum:"Event"`
- // A collection of bucket events for which to send notiications
+ // A collection of bucket events for which to send notifications
Events []*string `locationName:"Event" type:"list" flattened:"true"`
// An optional unique identifier for configurations in a notification configuration.
@@ -25668,19 +26961,21 @@ type ReplicationRule struct {
// only <Status>Disabled</Status>. For an example configuration, see Basic Rule
// Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config).
//
- // If you don't specify the Filter element, Amazon S3 assumes the replication
+ // If you don't specify the Filter element, Amazon S3 assumes that the replication
// configuration is the earlier version, V1. In the earlier version, Amazon
// S3 handled replication of delete markers differently. For more information,
// see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).
DeleteMarkerReplication *DeleteMarkerReplication `type:"structure"`
- // A container for information about the replication destination.
+ // A container for information about the replication destination and its configurations
+ // including enabling the S3 Replication Time Control (S3 RTC).
//
// Destination is a required field
Destination *Destination `type:"structure" required:"true"`
- // A container that specifies information about existing object replication.
- // You can choose whether to enable or disable the replication of existing objects.
+ // Optional configuration to replicate existing source bucket objects. For more
+ // information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication)
+ // in the Amazon S3 Developer Guide.
ExistingObjectReplication *ExistingObjectReplication `type:"structure"`
// A filter that identifies the subset of objects to which the replication rule
@@ -25690,9 +26985,9 @@ type ReplicationRule struct {
// A unique identifier for the rule. The maximum value is 255 characters.
ID *string `type:"string"`
- // An object keyname prefix that identifies the object or objects to which the
- // rule applies. The maximum prefix length is 1,024 characters. To include all
- // objects in a bucket, specify an empty string.
+ // An object key name prefix that identifies the object or objects to which
+ // the rule applies. The maximum prefix length is 1,024 characters. To include
+ // all objects in a bucket, specify an empty string.
//
// Deprecated: Prefix has been deprecated
Prefix *string `deprecated:"true" type:"string"`
@@ -25702,14 +26997,14 @@ type ReplicationRule struct {
// when filtering. If two or more rules identify the same object based on a
// specified filter, the rule with higher priority takes precedence. For example:
//
- // * Same object quality prefix based filter criteria If prefixes you specified
+ // * Same object quality prefix-based filter criteria if prefixes you specified
// in multiple rules overlap
//
- // * Same object qualify tag based filter criteria specified in multiple
+ // * Same object qualify tag-based filter criteria specified in multiple
// rules
//
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
- // in the Amazon S3 Developer Guide.
+ // in the Amazon Simple Storage Service Developer Guide.
Priority *int64 `type:"integer"`
// A container that describes additional filters for identifying the source
@@ -25839,8 +27134,8 @@ func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
type ReplicationRuleAndOperator struct {
_ struct{} `type:"structure"`
- // An object keyname prefix that identifies the subset of objects to which the
- // rule applies.
+ // An object key name prefix that identifies the subset of objects to which
+ // the rule applies.
Prefix *string `type:"string"`
// An array of tags containing key and value pairs.
@@ -25905,8 +27200,8 @@ type ReplicationRuleFilter struct {
// in an And tag.
And *ReplicationRuleAndOperator `type:"structure"`
- // An object keyname prefix that identifies the subset of objects to which the
- // rule applies.
+ // An object key name prefix that identifies the subset of objects to which
+ // the rule applies.
Prefix *string `type:"string"`
// A container for specifying a tag key and value.
@@ -25963,8 +27258,10 @@ func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter {
return s
}
-// A container specifying the time when all objects and operations on objects
-// are replicated. Must be specified together with a Metrics block.
+// A container specifying S3 Replication Time Control (S3 RTC) related information,
+// including whether S3 RTC is enabled and the time when all objects and operations
+// on objects must be replicated. Must be specified together with a Metrics
+// block.
type ReplicationTime struct {
_ struct{} `type:"structure"`
@@ -25973,7 +27270,7 @@ type ReplicationTime struct {
// Status is a required field
Status *string `type:"string" required:"true" enum:"ReplicationTimeStatus"`
- // A container specifying the time by which replication should complete for
+ // A container specifying the time by which replication should be complete for
// all objects and operations on objects.
//
// Time is a required field
@@ -26018,11 +27315,14 @@ func (s *ReplicationTime) SetTime(v *ReplicationTimeValue) *ReplicationTime {
return s
}
-// A container specifying the time value.
+// A container specifying the time value for S3 Replication Time Control (S3
+// RTC) and replication metrics EventThreshold.
type ReplicationTimeValue struct {
_ struct{} `type:"structure"`
// Contains an integer specifying time in minutes.
+ //
+ // Valid values: 15 minutes.
Minutes *int64 `type:"integer"`
}
@@ -26081,7 +27381,7 @@ func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfigur
return s
}
-// Container for specifiying if periodic QueryProgress messages should be sent.
+// Container for specifying if periodic QueryProgress messages should be sent.
type RequestProgress struct {
_ struct{} `type:"structure"`
@@ -26109,7 +27409,14 @@ func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
type RestoreObjectInput struct {
_ struct{} `locationName:"RestoreObjectRequest" type:"structure" payload:"RestoreRequest"`
- // The bucket name.
+ // The bucket name or containing the object to restore.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -26121,8 +27428,9 @@ type RestoreObjectInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
// Container for restore job parameters.
@@ -26206,6 +27514,20 @@ func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
return s
}
+func (s *RestoreObjectInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *RestoreObjectInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type RestoreObjectOutput struct {
_ struct{} `type:"structure"`
@@ -26523,12 +27845,12 @@ func (s *Rule) SetTransition(v *Transition) *Rule {
return s
}
-// Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
+// Specifies the use of SSE-KMS to encrypt delivered inventory reports.
type SSEKMS struct {
_ struct{} `locationName:"SSE-KMS" type:"structure"`
- // Specifies the ID of the AWS Key Management Service (KMS) customer master
- // key (CMK) to use for encrypting Inventory reports.
+ // Specifies the ID of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) to use for encrypting inventory reports.
//
// KeyId is a required field
KeyId *string `type:"string" required:"true" sensitive:"true"`
@@ -26563,7 +27885,7 @@ func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
return s
}
-// Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
+// Specifies the use of SSE-S3 to encrypt delivered inventory reports.
type SSES3 struct {
_ struct{} `locationName:"SSE-S3" type:"structure"`
}
@@ -26578,13 +27900,17 @@ func (s SSES3) GoString() string {
return s.String()
}
+// Specifies the byte range of the object to get the records from. A record
+// is processed when its first byte is contained by the range. This parameter
+// is optional, but when specified, it must not be empty. See RFC 2616, Section
+// 14.35.1 about how to specify the start and end of the range.
type ScanRange struct {
_ struct{} `type:"structure"`
// Specifies the end of the byte range. This parameter is optional. Valid values:
// non-negative integers. The default value is one less than the size of the
// object being queried. If only the End parameter is supplied, it is interpreted
- // to mean scan the last N bytes of the file. For example; <scanrange><end>50</end></scanrange>
+ // to mean scan the last N bytes of the file. For example, <scanrange><end>50</end></scanrange>
// means scan the last 50 bytes.
End *int64 `type:"long"`
@@ -26857,7 +28183,7 @@ type SelectObjectContentInput struct {
// Expression is a required field
Expression *string `type:"string" required:"true"`
- // The type of the provided expression (for example., SQL).
+ // The type of the provided expression (for example, SQL).
//
// ExpressionType is a required field
ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
@@ -27035,6 +28361,20 @@ func (s *SelectObjectContentInput) SetScanRange(v *ScanRange) *SelectObjectConte
return s
}
+func (s *SelectObjectContentInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *SelectObjectContentInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type SelectObjectContentOutput struct {
_ struct{} `type:"structure" payload:"Payload"`
@@ -27086,7 +28426,7 @@ type SelectParameters struct {
// Expression is a required field
Expression *string `type:"string" required:"true"`
- // The type of the provided expression (e.g., SQL).
+ // The type of the provided expression (for example, SQL).
//
// ExpressionType is a required field
ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
@@ -27632,7 +28972,7 @@ func (s *Tag) SetValue(v string) *Tag {
type Tagging struct {
_ struct{} `type:"structure"`
- // A collection for a a set of tags
+ // A collection for a set of tags
//
// TagSet is a required field
TagSet []*Tag `locationNameList:"Tag" type:"list" required:"true"`
@@ -27806,7 +29146,7 @@ func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
// A container for specifying the configuration for publication of messages
// to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3
-// detects specified events. This data type is deperecated. Please use TopicConfiguration
+// detects specified events. This data type is deprecated. Use TopicConfiguration
// instead.
type TopicConfigurationDeprecated struct {
_ struct{} `type:"structure"`
@@ -27936,11 +29276,12 @@ type UploadPartCopyInput struct {
// The range of bytes to copy from the source object. The range value must use
// the form bytes=first-last, where the first and last are the zero-based byte
// offsets to copy. For example, bytes=0-9 indicates that you want to copy the
- // first ten bytes of the source. You can copy a range only if the source object
+ // first 10 bytes of the source. You can copy a range only if the source object
// is greater than 5 MB.
CopySourceRange *string `location:"header" locationName:"x-amz-copy-source-range" type:"string"`
- // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
+ // Specifies the algorithm to use when decrypting the source object (for example,
+ // AES256).
CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
@@ -27949,8 +29290,8 @@ type UploadPartCopyInput struct {
CopySourceSSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -27966,24 +29307,26 @@ type UploadPartCopyInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header. This must be the same encryption key specified in the initiate multipart
// upload request.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Upload ID identifying the multipart upload whose part is being copied.
@@ -28156,6 +29499,20 @@ func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
return s
}
+func (s *UploadPartCopyInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *UploadPartCopyInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type UploadPartCopyOutput struct {
_ struct{} `type:"structure" payload:"CopyPartResult"`
@@ -28176,16 +29533,16 @@ type UploadPartCopyOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) that was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) that was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
}
@@ -28257,7 +29614,7 @@ type UploadPartInput struct {
ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
// The base64-encoded 128-bit MD5 digest of the part data. This parameter is
- // auto-populated when using the command from the CLI. This parameted is required
+ // auto-populated when using the command from the CLI. This parameter is required
// if object lock parameters are specified.
ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
@@ -28274,24 +29631,26 @@ type UploadPartInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header. This must be the same encryption key specified in the initiate multipart
// upload request.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Upload ID identifying the multipart upload whose part is being uploaded.
@@ -28418,6 +29777,20 @@ func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
return s
}
+func (s *UploadPartInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *UploadPartInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
type UploadPartOutput struct {
_ struct{} `type:"structure"`
@@ -28434,16 +29807,16 @@ type UploadPartOutput struct {
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// If server-side encryption with a customer-provided encryption key was requested,
- // the response will include this header to provide round trip message integrity
+ // the response will include this header to provide round-trip message integrity
// verification of the customer-provided encryption key.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
- // If present, specifies the ID of the AWS Key Management Service (KMS) customer
- // master key (CMK) was used for the object.
+ // If present, specifies the ID of the AWS Key Management Service (AWS KMS)
+ // customer master key (CMK) was used for the object.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
}
@@ -29090,8 +30463,9 @@ const (
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
-// Documentation on downloading objects from requester pays buckets can be found
-// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+// For information about downloading objects from Requester Pays buckets, see
+// Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+// in the Amazon S3 Developer Guide.
const (
// RequestPayerRequester is a RequestPayer enum value
RequestPayerRequester = "requester"
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
index 23d386b1..036d0b2e 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
@@ -4,6 +4,7 @@ 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"
)
func init() {
@@ -13,7 +14,7 @@ func init() {
func defaultInitClientFn(c *client.Client) {
// Support building custom endpoints based on config
- c.Handlers.Build.PushFront(updateEndpointForS3Config)
+ c.Handlers.Build.PushFront(endpointHandler)
// Require SSL when using SSE keys
c.Handlers.Validate.PushBack(validateSSERequiresSSL)
@@ -27,7 +28,7 @@ func defaultInitClientFn(c *client.Client) {
}
func defaultInitRequestFn(r *request.Request) {
- // Add reuest handlers for specific platforms.
+ // Add request handlers for specific platforms.
// e.g. 100-continue support for PUT requests using Go 1.6
platformRequestHandlers(r)
@@ -73,3 +74,8 @@ type sseCustomerKeyGetter interface {
type copySourceSSECustomerKeyGetter interface {
getCopySourceSSECustomerKey() string
}
+
+type endpointARNGetter interface {
+ getEndpointARN() (arn.Resource, error)
+ hasEndpointARN() bool
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go
new file mode 100644
index 00000000..c4048fbf
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go
@@ -0,0 +1,233 @@
+package s3
+
+import (
+ "net/url"
+ "strings"
+
+ "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"
+)
+
+// Used by shapes with members decorated as endpoint ARN.
+func parseEndpointARN(v string) (arn.Resource, error) {
+ return arn.ParseResource(v, accessPointResourceParser)
+}
+
+func accessPointResourceParser(a awsarn.ARN) (arn.Resource, error) {
+ resParts := arn.SplitResource(a.Resource)
+ switch resParts[0] {
+ case "accesspoint":
+ return arn.ParseAccessPointResource(a, resParts[1:])
+ default:
+ return nil, arn.InvalidARNError{ARN: a, Reason: "unknown resource type"}
+ }
+}
+
+func endpointHandler(req *request.Request) {
+ endpoint, ok := req.Params.(endpointARNGetter)
+ if !ok || !endpoint.hasEndpointARN() {
+ updateBucketEndpointFromParams(req)
+ return
+ }
+
+ resource, err := endpoint.getEndpointARN()
+ if err != nil {
+ req.Error = newInvalidARNError(nil, err)
+ return
+ }
+
+ resReq := resourceRequest{
+ Resource: resource,
+ Request: req,
+ }
+
+ if resReq.IsCrossPartition() {
+ req.Error = newClientPartitionMismatchError(resource,
+ req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
+ return
+ }
+
+ if !resReq.AllowCrossRegion() && resReq.IsCrossRegion() {
+ req.Error = newClientRegionMismatchError(resource,
+ req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
+ return
+ }
+
+ if resReq.HasCustomEndpoint() {
+ req.Error = newInvalidARNWithCustomEndpointError(resource, nil)
+ return
+ }
+
+ switch tv := resource.(type) {
+ case arn.AccessPointARN:
+ err = updateRequestAccessPointEndpoint(req, tv)
+ if err != nil {
+ req.Error = err
+ }
+ default:
+ req.Error = 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 {
+ // Ignore operation requests if the bucket name was not provided
+ // if this is an input validation error the validation handler
+ // will report it.
+ return
+ }
+ updateEndpointForS3Config(r, bucket)
+}
+
+func updateRequestAccessPointEndpoint(req *request.Request, accessPoint arn.AccessPointARN) error {
+ // Accelerate not supported
+ if aws.BoolValue(req.Config.S3UseAccelerate) {
+ return newClientConfiguredForAccelerateError(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 := accessPointEndpointBuilder(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
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_errors.go b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_errors.go
new file mode 100644
index 00000000..9df03e78
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_errors.go
@@ -0,0 +1,151 @@
+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,
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
index 4db90702..49aeff16 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
@@ -15,9 +15,9 @@ const (
// "BucketAlreadyOwnedByYou".
//
// The bucket you tried to create already exists, and you own it. Amazon S3
- // returns this error in all AWS Regions except in the North Virginia region.
+ // returns this error in all AWS Regions except in the North Virginia Region.
// For legacy compatibility, if you re-create an existing bucket that you already
- // own in the North Virginia region, Amazon S3 returns 200 OK and resets the
+ // own in the North Virginia Region, Amazon S3 returns 200 OK and resets the
// bucket access control lists (ACLs).
ErrCodeBucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou"
@@ -42,13 +42,13 @@ const (
// ErrCodeObjectAlreadyInActiveTierError for service response error code
// "ObjectAlreadyInActiveTierError".
//
- // This operation is not allowed against this storage tier
+ // This operation is not allowed against this storage tier.
ErrCodeObjectAlreadyInActiveTierError = "ObjectAlreadyInActiveTierError"
// ErrCodeObjectNotInActiveTierError for service response error code
// "ObjectNotInActiveTierError".
//
// The source object of the COPY operation is not in the active tier and is
- // only stored in Amazon Glacier.
+ // only stored in Amazon S3 Glacier.
ErrCodeObjectNotInActiveTierError = "ObjectNotInActiveTierError"
)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
index a7fbc2de..81cdec1a 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
@@ -30,10 +30,10 @@ var accelerateOpBlacklist = operationBlacklist{
opListBuckets, opCreateBucket, opDeleteBucket,
}
-// Request handler to automatically add the bucket name to the endpoint domain
+// Automatically add the bucket name to the endpoint domain
// if possible. This style of bucket is valid for all bucket names which are
// DNS compatible and do not contain "."
-func updateEndpointForS3Config(r *request.Request) {
+func updateEndpointForS3Config(r *request.Request, bucketName string) {
forceHostStyle := aws.BoolValue(r.Config.S3ForcePathStyle)
accelerate := aws.BoolValue(r.Config.S3UseAccelerate)
@@ -43,45 +43,29 @@ func updateEndpointForS3Config(r *request.Request) {
r.Config.Logger.Log("ERROR: aws.Config.S3UseAccelerate is not compatible with aws.Config.S3ForcePathStyle, ignoring S3ForcePathStyle.")
}
}
- updateEndpointForAccelerate(r)
+ updateEndpointForAccelerate(r, bucketName)
} else if !forceHostStyle && r.Operation.Name != opGetBucketLocation {
- updateEndpointForHostStyle(r)
+ updateEndpointForHostStyle(r, bucketName)
}
}
-func updateEndpointForHostStyle(r *request.Request) {
- bucket, ok := bucketNameFromReqParams(r.Params)
- if !ok {
- // Ignore operation requests if the bucketname was not provided
- // if this is an input validation error the validation handler
- // will report it.
- return
- }
-
- if !hostCompatibleBucketName(r.HTTPRequest.URL, bucket) {
+func updateEndpointForHostStyle(r *request.Request, bucketName string) {
+ if !hostCompatibleBucketName(r.HTTPRequest.URL, bucketName) {
// bucket name must be valid to put into the host
return
}
- moveBucketToHost(r.HTTPRequest.URL, bucket)
+ moveBucketToHost(r.HTTPRequest.URL, bucketName)
}
var (
accelElem = []byte("s3-accelerate.dualstack.")
)
-func updateEndpointForAccelerate(r *request.Request) {
- bucket, ok := bucketNameFromReqParams(r.Params)
- if !ok {
- // Ignore operation requests if the bucketname was not provided
- // if this is an input validation error the validation handler
- // will report it.
- return
- }
-
- if !hostCompatibleBucketName(r.HTTPRequest.URL, bucket) {
+func updateEndpointForAccelerate(r *request.Request, bucketName string) {
+ if !hostCompatibleBucketName(r.HTTPRequest.URL, bucketName) {
r.Error = awserr.New("InvalidParameterException",
- fmt.Sprintf("bucket name %s is not compatible with S3 Accelerate", bucket),
+ fmt.Sprintf("bucket name %s is not compatible with S3 Accelerate", bucketName),
nil)
return
}
@@ -106,7 +90,7 @@ func updateEndpointForAccelerate(r *request.Request) {
r.HTTPRequest.URL.Host = strings.Join(parts, ".")
- moveBucketToHost(r.HTTPRequest.URL, bucket)
+ moveBucketToHost(r.HTTPRequest.URL, bucketName)
}
// Attempts to retrieve the bucket name from the request input parameters.
@@ -148,8 +132,5 @@ func dnsCompatibleBucketName(bucket string) bool {
// moveBucketToHost moves the bucket name from the URI path to URL host.
func moveBucketToHost(u *url.URL, bucket string) {
u.Host = bucket + "." + u.Host
- u.Path = strings.Replace(u.Path, "/{Bucket}", "", -1)
- if u.Path == "" {
- u.Path = "/"
- }
+ removeBucketFromPath(u)
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/accesspoint_arn.go b/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/accesspoint_arn.go
new file mode 100644
index 00000000..2f93f96f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/accesspoint_arn.go
@@ -0,0 +1,45 @@
+package arn
+
+import (
+ "strings"
+
+ "github.com/aws/aws-sdk-go/aws/arn"
+)
+
+// AccessPointARN provides representation
+type AccessPointARN struct {
+ arn.ARN
+ AccessPointName string
+}
+
+// GetARN returns the base ARN for the Access Point resource
+func (a AccessPointARN) GetARN() arn.ARN {
+ return a.ARN
+}
+
+// ParseAccessPointResource attempts to parse the ARN's resource as an
+// AccessPoint resource.
+func ParseAccessPointResource(a arn.ARN, resParts []string) (AccessPointARN, error) {
+ if len(a.Region) == 0 {
+ return AccessPointARN{}, InvalidARNError{a, "region not set"}
+ }
+ if len(a.AccountID) == 0 {
+ return AccessPointARN{}, InvalidARNError{a, "account-id not set"}
+ }
+ if len(resParts) == 0 {
+ return AccessPointARN{}, InvalidARNError{a, "resource-id not set"}
+ }
+ if len(resParts) > 1 {
+ return AccessPointARN{}, InvalidARNError{a, "sub resource not supported"}
+ }
+
+ resID := resParts[0]
+ if len(strings.TrimSpace(resID)) == 0 {
+ return AccessPointARN{}, InvalidARNError{a, "resource-id not set"}
+ }
+
+ return AccessPointARN{
+ ARN: a,
+ AccessPointName: resID,
+ }, nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/arn.go b/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/arn.go
new file mode 100644
index 00000000..a942d887
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/internal/arn/arn.go
@@ -0,0 +1,71 @@
+package arn
+
+import (
+ "strings"
+
+ "github.com/aws/aws-sdk-go/aws/arn"
+)
+
+// Resource provides the interfaces abstracting ARNs of specific resource
+// types.
+type Resource interface {
+ GetARN() arn.ARN
+ String() string
+}
+
+// ResourceParser provides the function for parsing an ARN's resource
+// component into a typed resource.
+type ResourceParser func(arn.ARN) (Resource, error)
+
+// ParseResource parses an AWS ARN into a typed resource for the S3 API.
+func ParseResource(s string, resParser ResourceParser) (resARN Resource, err error) {
+ a, err := arn.Parse(s)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(a.Partition) == 0 {
+ return nil, InvalidARNError{a, "partition not set"}
+ }
+ if a.Service != "s3" {
+ return nil, InvalidARNError{a, "service is not S3"}
+ }
+ if len(a.Resource) == 0 {
+ return nil, InvalidARNError{a, "resource not set"}
+ }
+
+ return resParser(a)
+}
+
+// SplitResource splits the resource components by the ARN resource delimiters.
+func SplitResource(v string) []string {
+ var parts []string
+ var offset int
+
+ for offset <= len(v) {
+ idx := strings.IndexAny(v[offset:], "/:")
+ if idx < 0 {
+ parts = append(parts, v[offset:])
+ break
+ }
+ parts = append(parts, v[offset:idx+offset])
+ offset += idx + 1
+ }
+
+ return parts
+}
+
+// IsARN returns whether the given string is an ARN
+func IsARN(s string) bool {
+ return arn.IsARN(s)
+}
+
+// InvalidARNError provides the error for an invalid ARN error.
+type InvalidARNError struct {
+ ARN arn.ARN
+ Reason string
+}
+
+func (e InvalidARNError) Error() string {
+ return "invalid Amazon S3 ARN, " + e.Reason + ", " + e.ARN.String()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go
index f1ccc249..3b210180 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go
@@ -21,7 +21,14 @@ type UploadInput struct {
// The readable body payload to send to S3.
Body io.Reader
- // Name of the bucket to which the PUT operation was initiated.
+ // Bucket name to which the PUT operation was initiated.
+ //
+ // When using this API with an access point, you must direct requests to the
+ // access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this operation using an access point through the AWS SDKs, you
+ // provide the access point ARN in place of the bucket name. For more information
+ // about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)
+ // in the Amazon Simple Storage Service Developer Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -92,23 +99,25 @@ type UploadInput struct {
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
- // Documentation on downloading objects from requester pays buckets can be found
- // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
+ // For information about downloading objects from Requester Pays buckets, see
+ // Downloading Objects in Requestor Pays Buckets (https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 Developer Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
+ // Specifies the algorithm to use to when encrypting the object (for example,
+ // AES256).
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
// data. This value is used to store the object and then it is discarded; Amazon
- // does not store the encryption key. The key must be appropriate for use with
- // the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm
// header.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure the encryption
- // key was transmitted without error.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Specifies the AWS KMS Encryption Context to use for object encryption. The
@@ -116,18 +125,18 @@ type UploadInput struct {
// encryption context key-value pairs.
SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
- // If the x-amz-server-side-encryption is present and has the value of aws:kms,
+ // If x-amz-server-side-encryption is present and has the value of aws:kms,
// this header specifies the ID of the AWS Key Management Service (AWS KMS)
// customer master key (CMK) that was used for the object.
//
// If the value of x-amz-server-side-encryption is aws:kms, this header specifies
// the ID of the AWS KMS CMK that will be used for the object. If you specify
- // x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id,
+ // x-amz-server-side-encryption:aws:kms, but do not providex-amz-server-side-encryption-aws-kms-key-id,
// Amazon S3 uses the AWS managed CMK in AWS to protect the data.
SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
- // The Server-side encryption algorithm used when storing this object in S3
- // (e.g., AES256, aws:kms).
+ // The server-side encryption algorithm used when storing this object in Amazon
+ // S3 (for example, AES256, aws:kms).
ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
// If you don't specify, Standard is the default storage class. Amazon S3 supports
@@ -141,7 +150,7 @@ type UploadInput struct {
// If the bucket is configured as a website, redirects requests for this object
// to another object in the same bucket or to an external URL. Amazon S3 stores
// the value of this header in the object metadata. For information about object
- // metadata, see .
+ // metadata, see Object Key and Metadata (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html).
//
// In the following example, the request header sets the redirect to an object
// (anotherPage.html) in the same bucket:
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go
index 0a25e04e..78f44330 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go
@@ -11931,6 +11931,40 @@ func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServ
return out, req.Send()
}
+// Information includes the AWS account ID where the current document is shared
+// and the version shared with that account.
+type AccountSharingInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID where the current document is shared.
+ AccountId *string `type:"string"`
+
+ // The version of the current document shared with the account.
+ SharedDocumentVersion *string `type:"string"`
+}
+
+// String returns the string representation
+func (s AccountSharingInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccountSharingInfo) GoString() string {
+ return s.String()
+}
+
+// SetAccountId sets the AccountId field's value.
+func (s *AccountSharingInfo) SetAccountId(v string) *AccountSharingInfo {
+ s.AccountId = &v
+ return s
+}
+
+// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
+func (s *AccountSharingInfo) SetSharedDocumentVersion(v string) *AccountSharingInfo {
+ s.SharedDocumentVersion = &v
+ return s
+}
+
// An activation registers one or more on-premises servers or virtual machines
// (VMs) with AWS so that you can configure those servers or VMs using Run Command.
// A server or VM that has been registered with AWS is called a managed instance.
@@ -15841,6 +15875,10 @@ type CreateDocumentInput struct {
// Name is a required field
Name *string `type:"string" required:"true"`
+ // A list of SSM documents required by a document. For example, an ApplicationConfiguration
+ // document requires an ApplicationConfigurationSchema document.
+ Requires []*DocumentRequires `min:"1" type:"list"`
+
// Optional metadata that you assign to a resource. Tags enable you to categorize
// a resource in different ways, such as by purpose, owner, or environment.
// For example, you might want to tag an SSM document to identify the types
@@ -15891,6 +15929,9 @@ func (s *CreateDocumentInput) Validate() error {
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
+ if s.Requires != nil && len(s.Requires) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Requires", 1))
+ }
if s.Attachments != nil {
for i, v := range s.Attachments {
if v == nil {
@@ -15901,6 +15942,16 @@ func (s *CreateDocumentInput) Validate() error {
}
}
}
+ if s.Requires != nil {
+ for i, v := range s.Requires {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requires", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
@@ -15948,6 +15999,12 @@ func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput {
return s
}
+// SetRequires sets the Requires field's value.
+func (s *CreateDocumentInput) SetRequires(v []*DocumentRequires) *CreateDocumentInput {
+ s.Requires = v
+ return s
+}
+
// SetTags sets the Tags field's value.
func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput {
s.Tags = v
@@ -16894,6 +16951,12 @@ type DeleteDocumentInput struct {
// versions of the document are deleted.
DocumentVersion *string `type:"string"`
+ // Some SSM document types require that you specify a Force flag before you
+ // can delete the document. For example, you must specify a Force flag to delete
+ // a document of type ApplicationConfigurationSchema. You can restrict access
+ // to the Force flag in an AWS Identity and Access Management (IAM) policy.
+ Force *bool `type:"boolean"`
+
// The name of the document.
//
// Name is a required field
@@ -16933,6 +16996,12 @@ func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput
return s
}
+// SetForce sets the Force field's value.
+func (s *DeleteDocumentInput) SetForce(v bool) *DeleteDocumentInput {
+ s.Force = &v
+ return s
+}
+
// SetName sets the Name field's value.
func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput {
s.Name = &v
@@ -18680,6 +18749,10 @@ type DescribeDocumentPermissionOutput struct {
// The account IDs that have permission to use this document. The ID can be
// either an AWS account or All.
AccountIds []*string `type:"list"`
+
+ // A list of of AWS accounts where the current document is shared and the version
+ // shared with each account.
+ AccountSharingInfoList []*AccountSharingInfo `type:"list"`
}
// String returns the string representation
@@ -18698,6 +18771,12 @@ func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeD
return s
}
+// SetAccountSharingInfoList sets the AccountSharingInfoList field's value.
+func (s *DescribeDocumentPermissionOutput) SetAccountSharingInfoList(v []*AccountSharingInfo) *DescribeDocumentPermissionOutput {
+ s.AccountSharingInfoList = v
+ return s
+}
+
type DescribeEffectiveInstanceAssociationsInput struct {
_ struct{} `type:"structure"`
@@ -21452,6 +21531,10 @@ type DocumentDescription struct {
// The list of OS platforms compatible with this Systems Manager document.
PlatformTypes []*string `type:"list"`
+ // A list of SSM documents required by a document. For example, an ApplicationConfiguration
+ // document requires an ApplicationConfigurationSchema document.
+ Requires []*DocumentRequires `min:"1" type:"list"`
+
// The schema version.
SchemaVersion *string `type:"string"`
@@ -21574,6 +21657,12 @@ func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription
return s
}
+// SetRequires sets the Requires field's value.
+func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescription {
+ s.Requires = v
+ return s
+}
+
// SetSchemaVersion sets the SchemaVersion field's value.
func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription {
s.SchemaVersion = &v
@@ -21694,6 +21783,10 @@ type DocumentIdentifier struct {
// The operating system platform.
PlatformTypes []*string `type:"list"`
+ // A list of SSM documents required by a document. For example, an ApplicationConfiguration
+ // document requires an ApplicationConfigurationSchema document.
+ Requires []*DocumentRequires `min:"1" type:"list"`
+
// The schema version.
SchemaVersion *string `type:"string"`
@@ -21758,6 +21851,12 @@ func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier {
return s
}
+// SetRequires sets the Requires field's value.
+func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentifier {
+ s.Requires = v
+ return s
+}
+
// SetSchemaVersion sets the SchemaVersion field's value.
func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier {
s.SchemaVersion = &v
@@ -21906,6 +22005,55 @@ func (s *DocumentParameter) SetType(v string) *DocumentParameter {
return s
}
+// An SSM document required by the current document.
+type DocumentRequires struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the required SSM document. The name can be an Amazon Resource
+ // Name (ARN).
+ //
+ // Name is a required field
+ Name *string `type:"string" required:"true"`
+
+ // The document version required by the current document.
+ Version *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DocumentRequires) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DocumentRequires) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DocumentRequires) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DocumentRequires"}
+ if s.Name == nil {
+ invalidParams.Add(request.NewErrParamRequired("Name"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetName sets the Name field's value.
+func (s *DocumentRequires) SetName(v string) *DocumentRequires {
+ s.Name = &v
+ return s
+}
+
+// SetVersion sets the Version field's value.
+func (s *DocumentRequires) SetVersion(v string) *DocumentRequires {
+ s.Version = &v
+ return s
+}
+
// Version information about the document.
type DocumentVersionInfo struct {
_ struct{} `type:"structure"`
@@ -22825,6 +22973,10 @@ type GetDocumentOutput struct {
// The name of the Systems Manager document.
Name *string `type:"string"`
+ // A list of SSM documents required by a document. For example, an ApplicationConfiguration
+ // document requires an ApplicationConfigurationSchema document.
+ Requires []*DocumentRequires `min:"1" type:"list"`
+
// The status of the Systems Manager document, such as Creating, Active, Updating,
// Failed, and Deleting.
Status *string `type:"string" enum:"DocumentStatus"`
@@ -22887,6 +23039,12 @@ func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput {
return s
}
+// SetRequires sets the Requires field's value.
+func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutput {
+ s.Requires = v
+ return s
+}
+
// SetStatus sets the Status field's value.
func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput {
s.Status = &v
@@ -27461,7 +27619,7 @@ type ListDocumentVersionsInput struct {
// results.
MaxResults *int64 `min:"1" type:"integer"`
- // The name of the document about which you want version information.
+ // The name of the document. You can specify an Amazon Resource Name (ARN).
//
// Name is a required field
Name *string `type:"string" required:"true"`
@@ -29371,6 +29529,10 @@ type ModifyDocumentPermissionInput struct {
//
// PermissionType is a required field
PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
+
+ // (Optional) The version of the document to share. If it's not specified, the
+ // system choose the Default version to share.
+ SharedDocumentVersion *string `type:"string"`
}
// String returns the string representation
@@ -29423,6 +29585,12 @@ func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocum
return s
}
+// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
+func (s *ModifyDocumentPermissionInput) SetSharedDocumentVersion(v string) *ModifyDocumentPermissionInput {
+ s.SharedDocumentVersion = &v
+ return s
+}
+
type ModifyDocumentPermissionOutput struct {
_ struct{} `type:"structure"`
}
@@ -38219,6 +38387,15 @@ const (
// DocumentTypePackage is a DocumentType enum value
DocumentTypePackage = "Package"
+
+ // DocumentTypeApplicationConfiguration is a DocumentType enum value
+ DocumentTypeApplicationConfiguration = "ApplicationConfiguration"
+
+ // DocumentTypeApplicationConfigurationSchema is a DocumentType enum value
+ DocumentTypeApplicationConfigurationSchema = "ApplicationConfigurationSchema"
+
+ // DocumentTypeDeploymentStrategy is a DocumentType enum value
+ DocumentTypeDeploymentStrategy = "DeploymentStrategy"
)
const (