diff --git a/CHANGELOG/CHANGELOG-1.5.md b/CHANGELOG/CHANGELOG-1.5.md
index fe5c9fafa..a34b03daa 100644
--- a/CHANGELOG/CHANGELOG-1.5.md
+++ b/CHANGELOG/CHANGELOG-1.5.md
@@ -3,6 +3,36 @@
+## [v1.5.4](https://github.com/aws/aws-k8s-tester/releases/tag/v1.5.4) (2020-11-11)
+
+See [code changes](https://github.com/aws/aws-k8s-tester/compare/v1.5.3...v1.5.4).
+
+### `eks`
+
+- Fix [configuration file overwrite permission errors](https://github.com/aws/aws-k8s-tester/pull/185).
+- Fix [VPC creation for us-west-1 region](https://github.com/aws/aws-k8s-tester/pull/183).
+- Increase [`clusterloader2` test timeouts](https://github.com/aws/aws-k8s-tester/pull/181).
+
+### `eksconfig`
+
+- Fix [EC2 service principals checks](https://github.com/aws/aws-k8s-tester/pull/184).
+
+### `pkg/aws`
+
+- Fix [S3 bucket creation for us-east-1 region](https://github.com/aws/aws-k8s-tester/pull/182).
+
+### Dependency
+
+- Upgrade [`github.com/aws/aws-sdk-go`](https://github.com/aws/aws-sdk-go/releases) from [`v1.35.10`](https://github.com/aws/aws-sdk-go/releases/tag/v1.35.10) to [`v1.35.25`](https://github.com/aws/aws-sdk-go/releases/tag/v1.35.25).
+
+### Go
+
+- Compile with [*Go 1.15.4*](https://golang.org/doc/devel/release.html#go1.15).
+
+
+
+
+
## [v1.5.3](https://github.com/aws/aws-k8s-tester/releases/tag/v1.5.3) (2020-10-20)
See [code changes](https://github.com/aws/aws-k8s-tester/compare/v1.5.2...v1.5.3).
diff --git a/eks/app-mesh/app-mesh.go b/eks/app-mesh/app-mesh.go
index 6e7ca882e..ca611be83 100644
--- a/eks/app-mesh/app-mesh.go
+++ b/eks/app-mesh/app-mesh.go
@@ -232,7 +232,8 @@ func (ts *tester) createPolicy() error {
return errors.New("roles not found from node group or managed node group")
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnAppMesh.PolicyCFNStackYAMLPath, []byte(templatePolicy), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnAppMesh.PolicyCFNStackYAMLPath, []byte(templatePolicy), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/cluster/cluster.go b/eks/cluster/cluster.go
index 27f71ef37..c5a521fc4 100644
--- a/eks/cluster/cluster.go
+++ b/eks/cluster/cluster.go
@@ -391,7 +391,8 @@ func (ts *tester) createEKS() (err error) {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.Status.ClusterCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.Status.ClusterCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/cluster/role.go b/eks/cluster/role.go
index 0cca2b4c3..316320df5 100644
--- a/eks/cluster/role.go
+++ b/eks/cluster/role.go
@@ -237,7 +237,8 @@ func (ts *tester) createClusterRole() error {
return errors.New("cannot create a cluster role with an empty Parameters.RoleName")
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.Parameters.RoleCFNStackYAMLPath, []byte(TemplateClusterRole), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.Parameters.RoleCFNStackYAMLPath, []byte(TemplateClusterRole), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/cluster/vpc.go b/eks/cluster/vpc.go
index b1a27c565..1e171d503 100644
--- a/eks/cluster/vpc.go
+++ b/eks/cluster/vpc.go
@@ -757,7 +757,8 @@ func (ts *tester) createVPC() error {
vpcName := ts.cfg.EKSConfig.Name + "-vpc"
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.Parameters.VPCCFNStackYAMLPath, []byte(TemplateVPCPublicPrivate), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.Parameters.VPCCFNStackYAMLPath, []byte(TemplateVPCPublicPrivate), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/fargate/fargate.go b/eks/fargate/fargate.go
index e15b1a234..657e7b2ec 100644
--- a/eks/fargate/fargate.go
+++ b/eks/fargate/fargate.go
@@ -260,7 +260,8 @@ func (ts *tester) createRole() error {
return errors.New("cannot create a cluster role with an empty AddOnFargate.RoleName")
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnFargate.RoleCFNStackYAMLPath, []byte(TemplateRole), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnFargate.RoleCFNStackYAMLPath, []byte(TemplateRole), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/irsa-fargate/irsa-fargate.go b/eks/irsa-fargate/irsa-fargate.go
index 878303d18..2bae8322d 100644
--- a/eks/irsa-fargate/irsa-fargate.go
+++ b/eks/irsa-fargate/irsa-fargate.go
@@ -404,7 +404,8 @@ func (ts *tester) createRole() error {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnIRSAFargate.RoleCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnIRSAFargate.RoleCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/irsa/irsa.go b/eks/irsa/irsa.go
index c91aa3e7a..d891e9a54 100644
--- a/eks/irsa/irsa.go
+++ b/eks/irsa/irsa.go
@@ -381,7 +381,8 @@ func (ts *tester) createRole() error {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnIRSA.RoleCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnIRSA.RoleCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/key-pair.go b/eks/key-pair.go
index 481418b73..088c98f1b 100644
--- a/eks/key-pair.go
+++ b/eks/key-pair.go
@@ -67,7 +67,7 @@ func (ts *Tester) createKeyPair() (err error) {
if err = ioutil.WriteFile(
ts.cfg.RemoteAccessPrivateKeyPath,
[]byte(*output.KeyMaterial),
- 0400,
+ 0600, // grant write permission in case of overwrites
); err != nil {
return err
}
diff --git a/eks/mng/nodes.go b/eks/mng/nodes.go
index 53965c4ca..6b098fc37 100644
--- a/eks/mng/nodes.go
+++ b/eks/mng/nodes.go
@@ -319,7 +319,8 @@ func (ts *tester) createASGs() (err error) {
}
stackInput.TemplateBody = aws.String(buf.String())
- if err = ioutil.WriteFile(cur.MNGCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err = ioutil.WriteFile(cur.MNGCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err = aws_s3.Upload(
diff --git a/eks/mng/role.go b/eks/mng/role.go
index a0cef630e..ba1a6ea8d 100644
--- a/eks/mng/role.go
+++ b/eks/mng/role.go
@@ -286,7 +286,8 @@ func (ts *tester) createRole() error {
if err := tpl.Execute(buf, tr); err != nil {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnManagedNodeGroups.RoleCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnManagedNodeGroups.RoleCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/mng/security-groups.go b/eks/mng/security-groups.go
index cadf1c088..c56afc3ef 100644
--- a/eks/mng/security-groups.go
+++ b/eks/mng/security-groups.go
@@ -223,7 +223,8 @@ func (ts *tester) createSG(name string) error {
return err
}
- if err := ioutil.WriteFile(cur.RemoteAccessSecurityCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(cur.RemoteAccessSecurityCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/ng/nodes.go b/eks/ng/nodes.go
index cc5d0db73..44550caf0 100644
--- a/eks/ng/nodes.go
+++ b/eks/ng/nodes.go
@@ -466,7 +466,8 @@ func (ts *tester) createASGs() error {
return err
}
- if err := ioutil.WriteFile(cur.ASGCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(cur.ASGCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
ts.cfg.Logger.Info("creating a new NG using CFN",
diff --git a/eks/ng/role.go b/eks/ng/role.go
index d94f12515..556ffd659 100644
--- a/eks/ng/role.go
+++ b/eks/ng/role.go
@@ -304,7 +304,8 @@ func (ts *tester) createRole() error {
if err := tpl.Execute(buf, tr); err != nil {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnNodeGroups.RoleCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnNodeGroups.RoleCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/ng/security-groups.go b/eks/ng/security-groups.go
index 4f1601def..a031dc6b4 100644
--- a/eks/ng/security-groups.go
+++ b/eks/ng/security-groups.go
@@ -193,7 +193,8 @@ func (ts *tester) createSG() error {
return err
}
- if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnNodeGroups.NodeGroupSecurityGroupCFNStackYAMLPath, buf.Bytes(), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(ts.cfg.EKSConfig.AddOnNodeGroups.NodeGroupSecurityGroupCFNStackYAMLPath, buf.Bytes(), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eks/ng/ssm.go b/eks/ng/ssm.go
index e4bc2dc12..b1d334a9e 100644
--- a/eks/ng/ssm.go
+++ b/eks/ng/ssm.go
@@ -112,7 +112,8 @@ func (ts *tester) createSSMDocument() error {
continue
}
- if err := ioutil.WriteFile(cur.SSMDocumentCFNStackYAMLPath, []byte(TemplateSSMDocument), 0400); err != nil {
+ // grant write permission in case of overwrites
+ if err := ioutil.WriteFile(cur.SSMDocumentCFNStackYAMLPath, []byte(TemplateSSMDocument), 0600); err != nil {
return err
}
if err := aws_s3.Upload(
diff --git a/eksconfig/config.go b/eksconfig/config.go
index 20e374493..e8c2f21b9 100644
--- a/eksconfig/config.go
+++ b/eksconfig/config.go
@@ -560,6 +560,7 @@ func (cfg *Config) evaluateCommandRefs() error {
}
// Sync persists current configuration and states to disk.
+// Every call overwrites the previous contents if any.
func (cfg *Config) Sync() (err error) {
cfg.mu.Lock()
defer cfg.mu.Unlock()
diff --git a/go.mod b/go.mod
index 6049eee65..dbac6a14b 100644
--- a/go.mod
+++ b/go.mod
@@ -43,7 +43,7 @@ replace (
)
require (
- github.com/aws/aws-sdk-go v1.35.10
+ github.com/aws/aws-sdk-go v1.35.25
github.com/briandowns/spinner v1.11.1
github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575
github.com/davecgh/go-spew v1.1.1
diff --git a/go.sum b/go.sum
index 1fba48ad3..8eb741811 100644
--- a/go.sum
+++ b/go.sum
@@ -102,8 +102,8 @@ github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:
github.com/aws/aws-sdk-go v1.6.10/go.mod h1:ZRmQr0FajVIyZ4ZzBYKG5P3ZqPz9IHG41ZoMu1ADI3k=
github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0=
github.com/aws/aws-sdk-go v1.28.2/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go v1.35.10 h1:FsJtrOS7P+Qmq1rPTGgS/+qC1Y9eGuAJHvAZpZlhmb4=
-github.com/aws/aws-sdk-go v1.35.10/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
+github.com/aws/aws-sdk-go v1.35.25 h1:0+UC6ZquMOLvYABoz0olShCAe+M9oKllgPfr2hnv9zE=
+github.com/aws/aws-sdk-go v1.35.25/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
github.com/bazelbuild/bazel-gazelle v0.18.2/go.mod h1:D0ehMSbS+vesFsLGiD6JXu3mVEzOlfUl8wNnq+x/9p0=
github.com/bazelbuild/bazel-gazelle v0.19.1-0.20191105222053-70208cbdc798/go.mod h1:rPwzNHUqEzngx1iVBfO/2X2npKaT3tqPqqHW6rVsn/A=
github.com/bazelbuild/buildtools v0.0.0-20190731111112-f720930ceb60/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
index c43b1bc0a..a880a3de8 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
@@ -50,7 +50,7 @@ package credentials
import (
"fmt"
- "sync/atomic"
+ "sync"
"time"
"github.com/aws/aws-sdk-go/aws/awserr"
@@ -207,9 +207,10 @@ func (e *Expiry) ExpiresAt() time.Time {
// first instance of the credentials Value. All calls to Get() after that
// will return the cached credentials Value until IsExpired() returns true.
type Credentials struct {
- creds atomic.Value
- sf singleflight.Group
+ sf singleflight.Group
+ m sync.RWMutex
+ creds Value
provider Provider
}
@@ -218,7 +219,6 @@ func NewCredentials(provider Provider) *Credentials {
c := &Credentials{
provider: provider,
}
- c.creds.Store(Value{})
return c
}
@@ -235,8 +235,17 @@ func NewCredentials(provider Provider) *Credentials {
//
// Passed in Context is equivalent to aws.Context, and context.Context.
func (c *Credentials) GetWithContext(ctx Context) (Value, error) {
- if curCreds := c.creds.Load(); !c.isExpired(curCreds) {
- return curCreds.(Value), nil
+ // Check if credentials are cached, and not expired.
+ select {
+ case curCreds, ok := <-c.asyncIsExpired():
+ // ok will only be true, of the credentials were not expired. ok will
+ // be false and have no value if the credentials are expired.
+ if ok {
+ return curCreds, nil
+ }
+ case <-ctx.Done():
+ return Value{}, awserr.New("RequestCanceled",
+ "request context canceled", ctx.Err())
}
// Cannot pass context down to the actual retrieve, because the first
@@ -254,18 +263,23 @@ func (c *Credentials) GetWithContext(ctx Context) (Value, error) {
}
}
-func (c *Credentials) singleRetrieve(ctx Context) (creds interface{}, err error) {
- if curCreds := c.creds.Load(); !c.isExpired(curCreds) {
- return curCreds.(Value), nil
+func (c *Credentials) singleRetrieve(ctx Context) (interface{}, error) {
+ c.m.Lock()
+ defer c.m.Unlock()
+
+ if curCreds := c.creds; !c.isExpiredLocked(curCreds) {
+ return curCreds, nil
}
+ var creds Value
+ var err error
if p, ok := c.provider.(ProviderWithContext); ok {
creds, err = p.RetrieveWithContext(ctx)
} else {
creds, err = c.provider.Retrieve()
}
if err == nil {
- c.creds.Store(creds)
+ c.creds = creds
}
return creds, err
@@ -290,7 +304,10 @@ func (c *Credentials) Get() (Value, error) {
// This will override the Provider's expired state, and force Credentials
// to call the Provider's Retrieve().
func (c *Credentials) Expire() {
- c.creds.Store(Value{})
+ c.m.Lock()
+ defer c.m.Unlock()
+
+ c.creds = Value{}
}
// IsExpired returns if the credentials are no longer valid, and need
@@ -299,11 +316,32 @@ func (c *Credentials) Expire() {
// If the Credentials were forced to be expired with Expire() this will
// reflect that override.
func (c *Credentials) IsExpired() bool {
- return c.isExpired(c.creds.Load())
+ c.m.RLock()
+ defer c.m.RUnlock()
+
+ return c.isExpiredLocked(c.creds)
}
-// isExpired helper method wrapping the definition of expired credentials.
-func (c *Credentials) isExpired(creds interface{}) bool {
+// asyncIsExpired returns a channel of credentials Value. If the channel is
+// closed the credentials are expired and credentials value are not empty.
+func (c *Credentials) asyncIsExpired() <-chan Value {
+ ch := make(chan Value, 1)
+ go func() {
+ c.m.RLock()
+ defer c.m.RUnlock()
+
+ if curCreds := c.creds; !c.isExpiredLocked(curCreds) {
+ ch <- curCreds
+ }
+
+ close(ch)
+ }()
+
+ return ch
+}
+
+// isExpiredLocked helper method wrapping the definition of expired credentials.
+func (c *Credentials) isExpiredLocked(creds interface{}) bool {
return creds == nil || creds.(Value) == Value{} || c.provider.IsExpired()
}
@@ -311,13 +349,17 @@ func (c *Credentials) isExpired(creds interface{}) bool {
// the underlying Provider, if it supports that interface. Otherwise, it returns
// an error.
func (c *Credentials) ExpiresAt() (time.Time, error) {
+ c.m.RLock()
+ defer c.m.RUnlock()
+
expirer, ok := c.provider.(Expirer)
if !ok {
return time.Time{}, awserr.New("ProviderNotExpirer",
- fmt.Sprintf("provider %s does not support ExpiresAt()", c.creds.Load().(Value).ProviderName),
+ fmt.Sprintf("provider %s does not support ExpiresAt()",
+ c.creds.ProviderName),
nil)
}
- if c.creds.Load().(Value) == (Value{}) {
+ if c.creds == (Value{}) {
// set expiration time to the distant past
return time.Time{}, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index 4e5bdbb75..c30391084 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
@@ -723,6 +723,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-north-1": endpoint{},
+ "eu-south-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
@@ -837,6 +838,7 @@ var awsPartition = partition{
Protocols: []string{"http", "https"},
},
Endpoints: endpoints{
+ "af-south-1": endpoint{},
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
@@ -846,6 +848,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-north-1": endpoint{},
+ "eu-south-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
@@ -860,6 +863,7 @@ var awsPartition = partition{
"backup": service{
Endpoints: endpoints{
+ "af-south-1": endpoint{},
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
@@ -869,6 +873,7 @@ var awsPartition = partition{
"ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-north-1": endpoint{},
+ "eu-south-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
@@ -2036,12 +2041,42 @@ var awsPartition = partition{
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ "fips-ca-central-1": endpoint{
+ Hostname: "ebs-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ },
+ "fips-us-east-1": endpoint{
+ Hostname: "ebs-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "fips-us-east-2": endpoint{
+ Hostname: "ebs-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "fips-us-west-1": endpoint{
+ Hostname: "ebs-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "fips-us-west-2": endpoint{
+ Hostname: "ebs-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ "me-south-1": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"ec2": service{
@@ -2192,6 +2227,12 @@ var awsPartition = partition{
Region: "us-east-2",
},
},
+ "fips-us-west-1": endpoint{
+ Hostname: "fips.eks.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
"fips-us-west-2": endpoint{
Hostname: "fips.eks.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
@@ -3455,6 +3496,7 @@ var awsPartition = partition{
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
+ "us-west-1": endpoint{},
"us-west-2": endpoint{},
},
},
@@ -3518,11 +3560,35 @@ 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{},
- "us-west-2": endpoint{},
+ "fips-us-east-1": endpoint{
+ Hostname: "lakeformation-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "fips-us-east-2": endpoint{
+ Hostname: "lakeformation-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "fips-us-west-1": endpoint{
+ Hostname: "lakeformation-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "fips-us-west-2": endpoint{
+ Hostname: "lakeformation-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"lambda": service{
@@ -4408,6 +4474,7 @@ var awsPartition = partition{
"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{},
@@ -4828,6 +4895,12 @@ var awsPartition = partition{
Region: "us-east-1",
},
},
+ "fips-aws-global": endpoint{
+ Hostname: "route53-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
},
},
"route53domains": service{
@@ -5436,10 +5509,16 @@ var awsPartition = partition{
"eu-west-3": endpoint{},
"me-south-1": endpoint{},
"sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ "servicediscovery-fips": endpoint{
+ Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ },
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"servicequotas": service{
@@ -5795,6 +5874,12 @@ var awsPartition = partition{
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
"eu-west-3": endpoint{},
+ "fips-ca-central-1": endpoint{
+ Hostname: "ssm-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ },
"fips-us-east-1": endpoint{
Hostname: "ssm-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
@@ -5821,34 +5906,10 @@ var awsPartition = partition{
},
"me-south-1": endpoint{},
"sa-east-1": endpoint{},
- "ssm-facade-fips-us-east-1": endpoint{
- Hostname: "ssm-facade-fips.us-east-1.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-east-1",
- },
- },
- "ssm-facade-fips-us-east-2": endpoint{
- Hostname: "ssm-facade-fips.us-east-2.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-east-2",
- },
- },
- "ssm-facade-fips-us-west-1": endpoint{
- Hostname: "ssm-facade-fips.us-west-1.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-west-1",
- },
- },
- "ssm-facade-fips-us-west-2": endpoint{
- Hostname: "ssm-facade-fips.us-west-2.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-west-2",
- },
- },
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"states": service{
@@ -6190,7 +6251,9 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-southeast-2": endpoint{},
"ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -7014,6 +7077,13 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{},
},
},
+ "fsx": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ "cn-northwest-1": endpoint{},
+ },
+ },
"gamelift": service{
Endpoints: endpoints{
@@ -7076,6 +7146,12 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{},
},
},
+ "iotanalytics": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
"iotevents": service{
Endpoints: endpoints{
@@ -7297,6 +7373,13 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{},
},
},
+ "securityhub": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ "cn-northwest-1": endpoint{},
+ },
+ },
"serverlessrepo": service{
Defaults: endpoint{
Protocols: []string{"https"},
@@ -7622,8 +7705,12 @@ var awsusgovPartition = partition{
},
},
Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ "us-gov-east-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
},
"appstream2": service{
@@ -7678,8 +7765,12 @@ var awsusgovPartition = partition{
Protocols: []string{"http", "https"},
},
Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ "us-gov-east-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ "us-gov-west-1": endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
},
"backup": service{
@@ -7831,6 +7922,12 @@ var awsusgovPartition = partition{
"cognito-identity": service{
Endpoints: endpoints{
+ "fips-us-gov-west-1": endpoint{
+ Hostname: "cognito-identity-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
"us-gov-west-1": endpoint{},
},
},
@@ -8036,6 +8133,18 @@ var awsusgovPartition = partition{
Protocols: []string{"http", "https"},
},
Endpoints: endpoints{
+ "fips-us-gov-east-1": endpoint{
+ Hostname: "eks.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ "fips-us-gov-west-1": endpoint{
+ Hostname: "eks.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
"us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{},
},
@@ -8235,6 +8344,12 @@ var awsusgovPartition = partition{
Protocols: []string{"https"},
},
Endpoints: endpoints{
+ "dataplane-us-gov-west-1": endpoint{
+ Hostname: "greengrass-ats.iot.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
"us-gov-west-1": endpoint{
Hostname: "greengrass.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
@@ -8249,6 +8364,7 @@ var awsusgovPartition = partition{
Protocols: []string{"https"},
},
Endpoints: endpoints{
+ "us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{},
"us-gov-west-1-fips": endpoint{
Hostname: "guardduty.us-gov-west-1.amazonaws.com",
@@ -8636,6 +8752,12 @@ var awsusgovPartition = partition{
Region: "us-gov-west-1",
},
},
+ "fips-aws-us-gov-global": endpoint{
+ Hostname: "route53.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
},
},
"route53resolver": service{
@@ -8882,18 +9004,6 @@ var awsusgovPartition = partition{
Region: "us-gov-west-1",
},
},
- "ssm-facade-fips-us-gov-east-1": endpoint{
- Hostname: "ssm-facade.us-gov-east-1.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-gov-east-1",
- },
- },
- "ssm-facade-fips-us-gov-west-1": endpoint{
- Hostname: "ssm-facade.us-gov-west-1.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-gov-west-1",
- },
- },
"us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{},
},
@@ -9518,6 +9628,17 @@ var awsisobPartition = partition{
},
},
Services: services{
+ "api.ecr": service{
+
+ Endpoints: endpoints{
+ "us-isob-east-1": endpoint{
+ Hostname: "api.ecr.us-isob-east-1.sc2s.sgov.gov",
+ CredentialScope: credentialScope{
+ Region: "us-isob-east-1",
+ },
+ },
+ },
+ },
"application-autoscaling": service{
Defaults: endpoint{
Protocols: []string{"http", "https"},
@@ -9597,6 +9718,12 @@ var awsisobPartition = partition{
},
},
},
+ "ecs": service{
+
+ Endpoints: endpoints{
+ "us-isob-east-1": endpoint{},
+ },
+ },
"elasticache": service{
Endpoints: endpoints{
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 3e11d66f8..838170451 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.35.10"
+const SDKVersion = "1.35.25"
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go
index cf9fad81e..55fa73ebc 100644
--- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go
+++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go
@@ -63,9 +63,10 @@ var parseTable = map[ASTKind]map[TokenType]int{
TokenNone: MarkCompleteState,
},
ASTKindEqualExpr: map[TokenType]int{
- TokenLit: ValueState,
- TokenWS: SkipTokenState,
- TokenNL: SkipState,
+ TokenLit: ValueState,
+ TokenWS: SkipTokenState,
+ TokenNL: SkipState,
+ TokenNone: SkipState,
},
ASTKindStatement: map[TokenType]int{
TokenLit: SectionState,
diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go
index bea102a88..0f409dca2 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go
@@ -70,7 +70,7 @@ func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req *
// groups attached to your Auto Scaling group, the instances are also registered
// with the target groups.
//
-// For more information, see Attach EC2 Instances to Your Auto Scaling Group
+// For more information, see Attach EC2 instances to your Auto Scaling group
// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-instance-asg.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
@@ -165,7 +165,7 @@ func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBal
// With Application Load Balancers and Network Load Balancers, instances are
// registered as targets with a target group. With Classic Load Balancers, instances
// are registered with the load balancer. For more information, see Attaching
-// a Load Balancer to Your Auto Scaling Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)
+// a load balancer to your Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -262,8 +262,8 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput
// API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers
// API.
//
-// For more information, see Attaching a Load Balancer to Your Auto Scaling
-// Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)
+// For more information, see Attaching a load balancer to your Auto Scaling
+// group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -637,7 +637,7 @@ func (c *AutoScaling) CompleteLifecycleActionRequest(input *CompleteLifecycleAct
//
// If you finish before the timeout period ends, complete the lifecycle action.
//
-// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
+// For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -723,14 +723,14 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou
//
// If you exceed your maximum limit of Auto Scaling groups, the call fails.
// To query this limit, call the DescribeAccountLimits API. For information
-// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
+// about updating this limit, see Amazon EC2 Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// For introductory exercises for creating an Auto Scaling group, see Getting
-// Started with Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html)
-// and Tutorial: Set Up a Scaled and Load-Balanced Application (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html)
+// started with Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html)
+// and Tutorial: Set up a scaled and load-balanced application (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html)
// in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto
-// Scaling Groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html)
+// Scaling groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize,
@@ -835,10 +835,10 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig
//
// If you exceed your maximum limit of launch configurations, the call fails.
// To query this limit, call the DescribeAccountLimits API. For information
-// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
+// about updating this limit, see Amazon EC2 Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
-// For more information, see Launch Configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html)
+// For more information, see Launch configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -935,7 +935,7 @@ func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput)
// When you specify a tag with a key that already exists, the operation overwrites
// the previous tag definition, and you do not get an error message.
//
-// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
+// For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1392,7 +1392,7 @@ func (c *AutoScaling) DeletePolicyRequest(input *DeletePolicyInput) (req *reques
// the underlying alarm action, but does not delete the alarm, even if it no
// longer has an associated action.
//
-// For more information, see Deleting a Scaling Policy (https://docs.aws.amazon.com/autoscaling/ec2/userguide/deleting-scaling-policy.html)
+// For more information, see Deleting a scaling policy (https://docs.aws.amazon.com/autoscaling/ec2/userguide/deleting-scaling-policy.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1645,7 +1645,7 @@ func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsI
// account.
//
// For information about requesting an increase, see Amazon EC2 Auto Scaling
-// Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
+// service quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3504,7 +3504,7 @@ func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *reques
// a particular tag only if it matches all the filters. If there's no match,
// no special message is returned.
//
-// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
+// For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3642,8 +3642,8 @@ func (c *AutoScaling) DescribeTerminationPolicyTypesRequest(input *DescribeTermi
//
// Describes the termination policies supported by Amazon EC2 Auto Scaling.
//
-// For more information, see Controlling Which Auto Scaling Instances Terminate
-// During Scale In (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
+// For more information, see Controlling which Auto Scaling instances terminate
+// during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3737,7 +3737,7 @@ func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req *
// attached to the Auto Scaling group, the instances are deregistered from the
// target groups.
//
-// For more information, see Detach EC2 Instances from Your Auto Scaling Group
+// For more information, see Detach EC2 instances from your Auto Scaling group
// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/detach-instance-asg.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
@@ -4074,7 +4074,8 @@ func (c *AutoScaling) EnableMetricsCollectionRequest(input *EnableMetricsCollect
// EnableMetricsCollection API operation for Auto Scaling.
//
// Enables group metrics for the specified Auto Scaling group. For more information,
-// see Monitoring Your Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html)
+// see Monitoring CloudWatch metrics for your Auto Scaling groups and instances
+// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4166,8 +4167,8 @@ func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *reques
// the Auto Scaling group launches new instances to replace the instances on
// standby.
//
-// For more information, see Temporarily Removing Instances from Your Auto Scaling
-// Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html)
+// For more information, see Temporarily removing instances from your Auto Scaling
+// group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4338,8 +4339,8 @@ func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request.
//
// After you put the instances back in service, the desired capacity is incremented.
//
-// For more information, see Temporarily Removing Instances from Your Auto Scaling
-// Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html)
+// For more information, see Temporarily removing instances from your Auto Scaling
+// group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4448,7 +4449,7 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req
// If you finish before the timeout period ends, complete the lifecycle action
// using the CompleteLifecycleAction API call.
//
-// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
+// For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// If you exceed your maximum limit of lifecycle hooks, which by default is
@@ -4549,10 +4550,13 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification
//
// This configuration overwrites any existing configuration.
//
-// For more information, see Getting Amazon SNS Notifications When Your Auto
-// Scaling Group Scales (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html)
+// For more information, see Getting Amazon SNS notifications when your Auto
+// Scaling group scales (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
+// If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling
+// group, the call fails.
+//
// 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.
@@ -4643,8 +4647,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req
// Creates or updates a scaling policy for an Auto Scaling group.
//
// For more information about using scaling policies to scale your Auto Scaling
-// group, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)
-// and Step and Simple Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)
+// group, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)
+// and Step and simple scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4739,7 +4743,7 @@ func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUp
// If you leave a parameter unspecified when updating a scheduled scaling action,
// the corresponding value remains unchanged.
//
-// For more information, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html)
+// For more information, see Scheduled scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4854,7 +4858,7 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecyc
//
// If you finish before the timeout period ends, complete the lifecycle action.
//
-// For more information, see Auto Scaling Lifecycle (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html)
+// For more information, see Auto Scaling lifecycle (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -4936,10 +4940,10 @@ func (c *AutoScaling) ResumeProcessesRequest(input *ScalingProcessQuery) (req *r
// ResumeProcesses API operation for Auto Scaling.
//
-// Resumes the specified suspended automatic scaling processes, or all suspended
+// Resumes the specified suspended auto scaling processes, or all suspended
// process, for the specified Auto Scaling group.
//
-// For more information, see Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)
+// For more information, see Suspending and resuming scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -5030,7 +5034,7 @@ func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput)
// that is lower than the current size of the group, the Auto Scaling group
// uses its termination policy to determine which instances to terminate.
//
-// For more information, see Manual Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html)
+// For more information, see Manual scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -5118,7 +5122,7 @@ func (c *AutoScaling) SetInstanceHealthRequest(input *SetInstanceHealthInput) (r
//
// Sets the health status of the specified instance.
//
-// For more information, see Health Checks for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html)
+// For more information, see Health checks for Auto Scaling instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -5203,9 +5207,13 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI
// Updates the instance protection settings of the specified instances.
//
// For more information about preventing instances that are part of an Auto
-// Scaling group from terminating on scale in, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
+// Scaling group from terminating on scale in, see Instance scale-in protection
+// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
// in the Amazon EC2 Auto Scaling User Guide.
//
+// If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling
+// group, the call fails.
+//
// 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.
@@ -5392,12 +5400,12 @@ func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req *
// SuspendProcesses API operation for Auto Scaling.
//
-// Suspends the specified automatic scaling processes, or all processes, for
-// the specified Auto Scaling group.
+// Suspends the specified auto scaling processes, or all processes, for the
+// specified Auto Scaling group.
//
// If you suspend either the Launch or Terminate process types, it can prevent
// other process types from functioning properly. For more information, see
-// Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)
+// Suspending and resuming scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// To resume processes that have been suspended, call the ResumeProcesses API.
@@ -5498,7 +5506,7 @@ func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *Terminat
// Zones. If you decrement the desired capacity, your Auto Scaling group can
// become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries
// to rebalance the group, and rebalancing might terminate instances in other
-// zones. For more information, see Rebalancing Activities (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage)
+// zones. For more information, see Rebalancing activities (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -6487,110 +6495,100 @@ type CreateAutoScalingGroupInput struct {
// AutoScalingGroupName is a required field
AutoScalingGroupName *string `min:"1" type:"string" required:"true"`
- // One or more Availability Zones for the group. This parameter is optional
- // if you specify one or more subnets for VPCZoneIdentifier.
+ // A list of Availability Zones where instances in the Auto Scaling group can
+ // be created. This parameter is optional if you specify one or more subnets
+ // for VPCZoneIdentifier.
//
// Conditional: If your account supports EC2-Classic and VPC, this parameter
// is required to launch instances into EC2-Classic.
AvailabilityZones []*string `min:"1" type:"list"`
+ // Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing
+ // is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling
+ // attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot
+ // Instance is at an elevated risk of interruption. After launching a new instance,
+ // it then terminates an old instance. For more information, see Amazon EC2
+ // Auto Scaling Capacity Rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html)
+ // in the Amazon EC2 Auto Scaling User Guide.
+ CapacityRebalance *bool `type:"boolean"`
+
// The amount of time, in seconds, after a scaling activity completes before
- // another scaling activity can start. The default value is 300.
- //
- // This setting applies when using simple scaling policies, but not when using
- // other scaling policies or scheduled scaling. For more information, see Scaling
- // Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
+ // another scaling activity can start. The default value is 300. This setting
+ // applies when using simple scaling policies, but not when using other scaling
+ // policies or scheduled scaling. For more information, see Scaling cooldowns
+ // for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
// in the Amazon EC2 Auto Scaling User Guide.
DefaultCooldown *int64 `type:"integer"`
// The desired capacity is the initial capacity of the Auto Scaling group at
// the time of its creation and the capacity it attempts to maintain. It can
- // scale beyond this capacity if you configure automatic scaling.
- //
- // This number must be greater than or equal to the minimum size of the group
- // and less than or equal to the maximum size of the group. If you do not specify
- // a desired capacity, the default is the minimum size of the group.
+ // scale beyond this capacity if you configure auto scaling. This number must
+ // be greater than or equal to the minimum size of the group and less than or
+ // equal to the maximum size of the group. If you do not specify a desired capacity,
+ // the default is the minimum size of the group.
DesiredCapacity *int64 `type:"integer"`
// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
// checking the health status of an EC2 instance that has come into service.
// During this time, any health check failures for the instance are ignored.
- // The default value is 0.
- //
- // For more information, see Health Check Grace Period (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period)
+ // The default value is 0. For more information, see Health check grace period
+ // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period)
// in the Amazon EC2 Auto Scaling User Guide.
//
- // Required if you are adding an ELB health check.
+ // Conditional: Required if you are adding an ELB health check.
HealthCheckGracePeriod *int64 `type:"integer"`
- // The service to use for the health checks. The valid values are EC2 and ELB.
- // The default value is EC2. If you configure an Auto Scaling group to use ELB
+ // The service to use for the health checks. The valid values are EC2 (default)
+ // and ELB. If you configure an Auto Scaling group to use load balancer (ELB)
// health checks, it considers the instance unhealthy if it fails either the
- // EC2 status checks or the load balancer health checks.
- //
- // For more information, see Health Checks for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html)
+ // EC2 status checks or the load balancer health checks. For more information,
+ // see Health checks for Auto Scaling instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html)
// in the Amazon EC2 Auto Scaling User Guide.
HealthCheckType *string `min:"1" type:"string"`
- // The ID of the instance used to create a launch configuration for the group.
- // To get the instance ID, use the Amazon EC2 DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
- // API operation.
- //
- // When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a
- // new launch configuration and associates it with the group. This launch configuration
- // derives its attributes from the specified instance, except for the block
- // device mapping.
- //
- // You must specify one of the following parameters in your request: LaunchConfigurationName,
- // LaunchTemplate, InstanceId, or MixedInstancesPolicy.
+ // The ID of the instance used to base the launch configuration on. If specified,
+ // Amazon EC2 Auto Scaling uses the configuration values from the specified
+ // instance to create a new launch configuration. To get the instance ID, use
+ // the Amazon EC2 DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
+ // API operation. For more information, see Creating an Auto Scaling group using
+ // an EC2 instance (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html)
+ // in the Amazon EC2 Auto Scaling User Guide.
InstanceId *string `min:"1" type:"string"`
- // The name of the launch configuration to use when an instance is launched.
- // To get the launch configuration name, use the DescribeLaunchConfigurations
- // API operation. New launch configurations can be created with the CreateLaunchConfiguration
- // API.
+ // The name of the launch configuration to use to launch instances.
//
- // You must specify one of the following parameters in your request: LaunchConfigurationName,
- // LaunchTemplate, InstanceId, or MixedInstancesPolicy.
+ // Conditional: You must specify either a launch template (LaunchTemplate or
+ // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName
+ // or InstanceId).
LaunchConfigurationName *string `min:"1" type:"string"`
- // Parameters used to specify the launch template and version to use when an
- // instance is launched.
- //
- // For more information, see LaunchTemplateSpecification (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)
- // in the Amazon EC2 Auto Scaling API Reference.
+ // Parameters used to specify the launch template (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)
+ // and version to use to launch instances.
//
- // You can alternatively associate a launch template to the Auto Scaling group
- // by using the MixedInstancesPolicy parameter.
+ // Conditional: You must specify either a launch template (LaunchTemplate or
+ // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName
+ // or InstanceId).
//
- // You must specify one of the following parameters in your request: LaunchConfigurationName,
- // LaunchTemplate, InstanceId, or MixedInstancesPolicy.
+ // The launch template that is specified must be configured for use with an
+ // Auto Scaling group. For more information, see Creating a launch template
+ // for an Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ // in the Amazon EC2 Auto Scaling User Guide.
LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
- // One or more lifecycle hooks.
+ // One or more lifecycle hooks for the group, which specify actions to perform
+ // when Amazon EC2 Auto Scaling launches or terminates instances.
LifecycleHookSpecificationList []*LifecycleHookSpecification `type:"list"`
// A list of Classic Load Balancers associated with this Auto Scaling group.
- // For Application Load Balancers and Network Load Balancers, specify a list
- // of target groups using the TargetGroupARNs property instead.
- //
- // For more information, see Using a Load Balancer with an Auto Scaling Group
- // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html)
- // in the Amazon EC2 Auto Scaling User Guide.
+ // For Application Load Balancers and Network Load Balancers, specify TargetGroupARNs
+ // instead.
LoadBalancerNames []*string `type:"list"`
// The maximum amount of time, in seconds, that an instance can be in service.
- // The default is null.
- //
- // This parameter is optional, but if you specify a value for it, you must specify
- // a value of at least 604,800 seconds (7 days). To clear a previously set value,
- // specify a new value of 0.
- //
- // For more information, see Replacing Auto Scaling Instances Based on Maximum
- // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html)
+ // The default is null. If specified, the value must be either 0 or a number
+ // equal to or greater than 86,400 seconds (1 day). For more information, see
+ // Replacing Auto Scaling instances based on maximum instance lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html)
// in the Amazon EC2 Auto Scaling User Guide.
- //
- // Valid Range: Minimum value of 0.
MaxInstanceLifetime *int64 `type:"integer"`
// The maximum size of the group.
@@ -6616,75 +6614,67 @@ type CreateAutoScalingGroupInput struct {
// The policy includes parameters that not only define the distribution of On-Demand
// Instances and Spot Instances, the maximum price to pay for Spot Instances,
// and how the Auto Scaling group allocates instance types to fulfill On-Demand
- // and Spot capacity, but also the parameters that specify the instance configuration
- // information—the launch template and instance types.
- //
- // For more information, see MixedInstancesPolicy (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MixedInstancesPolicy.html)
- // in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with
- // Multiple Instance Types and Purchase Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html)
+ // and Spot capacities, but also the parameters that specify the instance configuration
+ // information—the launch template and instance types. The policy can also
+ // include a weight for each instance type. For more information, see Auto Scaling
+ // groups with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
- // You must specify one of the following parameters in your request: LaunchConfigurationName,
- // LaunchTemplate, InstanceId, or MixedInstancesPolicy.
+ // Conditional: You must specify either a launch template (LaunchTemplate or
+ // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName
+ // or InstanceId).
MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"`
// Indicates whether newly launched instances are protected from termination
- // by Amazon EC2 Auto Scaling when scaling in.
- //
- // For more information about preventing instances from terminating on scale
- // in, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
+ // by Amazon EC2 Auto Scaling when scaling in. For more information about preventing
+ // instances from terminating on scale in, see Instance scale-in protection
+ // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
// in the Amazon EC2 Auto Scaling User Guide.
NewInstancesProtectedFromScaleIn *bool `type:"boolean"`
- // The name of the placement group into which to launch your instances, if any.
- // A placement group is a logical grouping of instances within a single Availability
- // Zone. You cannot specify multiple Availability Zones and a placement group.
- // For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ // The name of an existing placement group into which to launch your instances,
+ // if any. A placement group is a logical grouping of instances within a single
+ // Availability Zone. You cannot specify multiple Availability Zones and a placement
+ // group. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
// in the Amazon EC2 User Guide for Linux Instances.
PlacementGroup *string `min:"1" type:"string"`
// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling
// group uses to call other AWS services on your behalf. By default, Amazon
// EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling,
- // which it creates if it does not exist. For more information, see Service-Linked
- // Roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)
+ // which it creates if it does not exist. For more information, see Service-linked
+ // roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)
// in the Amazon EC2 Auto Scaling User Guide.
ServiceLinkedRoleARN *string `min:"1" type:"string"`
// One or more tags. You can tag your Auto Scaling group and propagate the tags
- // to the Amazon EC2 instances it launches.
- //
- // Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS
- // volumes, specify the tags in a launch template but use caution. If the launch
- // template specifies an instance tag with a key that is also specified for
- // the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that
- // instance tag with the value specified by the Auto Scaling group.
- //
- // For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
+ // to the Amazon EC2 instances it launches. Tags are not propagated to Amazon
+ // EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch
+ // template but use caution. If the launch template specifies an instance tag
+ // with a key that is also specified for the Auto Scaling group, Amazon EC2
+ // Auto Scaling overrides the value of that instance tag with the value specified
+ // by the Auto Scaling group. For more information, see Tagging Auto Scaling
+ // groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
// in the Amazon EC2 Auto Scaling User Guide.
Tags []*Tag `type:"list"`
// The Amazon Resource Names (ARN) of the target groups to associate with the
// Auto Scaling group. Instances are registered as targets in a target group,
- // and traffic is routed to the target group.
- //
- // For more information, see Using a Load Balancer with an Auto Scaling Group
- // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html)
+ // and traffic is routed to the target group. For more information, see Elastic
+ // Load Balancing and Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html)
// in the Amazon EC2 Auto Scaling User Guide.
TargetGroupARNs []*string `type:"list"`
- // One or more termination policies used to select the instance to terminate.
- // These policies are executed in the order that they are listed.
- //
- // For more information, see Controlling Which Instances Auto Scaling Terminates
- // During Scale In (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
+ // A policy or a list of policies that are used to select the instance to terminate.
+ // These policies are executed in the order that you list them. For more information,
+ // see Controlling which Auto Scaling instances terminate during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
// in the Amazon EC2 Auto Scaling User Guide.
TerminationPolicies []*string `type:"list"`
- // A comma-separated list of subnet IDs for your virtual private cloud (VPC).
- //
- // If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that
- // you specify for this parameter must reside in those Availability Zones.
+ // A comma-separated list of subnet IDs for a virtual private cloud (VPC) where
+ // instances in the Auto Scaling group can be created. If you specify VPCZoneIdentifier
+ // with AvailabilityZones, the subnets that you specify for this parameter must
+ // reside in those Availability Zones.
//
// Conditional: If your account supports EC2-Classic and VPC, this parameter
// is required to launch instances into a VPC.
@@ -6786,6 +6776,12 @@ func (s *CreateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *CreateA
return s
}
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *CreateAutoScalingGroupInput) SetCapacityRebalance(v bool) *CreateAutoScalingGroupInput {
+ s.CapacityRebalance = &v
+ return s
+}
+
// SetDefaultCooldown sets the DefaultCooldown field's value.
func (s *CreateAutoScalingGroupInput) SetDefaultCooldown(v int64) *CreateAutoScalingGroupInput {
s.DefaultCooldown = &v
@@ -6926,7 +6922,7 @@ type CreateLaunchConfigurationInput struct {
// For Auto Scaling groups that are running in a virtual private cloud (VPC),
// specifies whether to assign a public IP address to the group's instances.
// If you specify true, each instance in the Auto Scaling group receives a unique
- // public IP address. For more information, see Launching Auto Scaling Instances
+ // public IP address. For more information, see Launching Auto Scaling instances
// in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
@@ -6949,7 +6945,7 @@ type CreateLaunchConfigurationInput struct {
// The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
// For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
// in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic
- // Instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
+ // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
// in the Amazon EC2 Auto Scaling User Guide.
//
// This parameter can only be used if you are launching EC2-Classic instances.
@@ -6958,7 +6954,7 @@ type CreateLaunchConfigurationInput struct {
// The IDs of one or more security groups for the specified ClassicLink-enabled
// VPC. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
// in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic
- // Instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
+ // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
// in the Amazon EC2 Auto Scaling User Guide.
//
// If you specify the ClassicLinkVPCId parameter, you must specify this parameter.
@@ -6980,8 +6976,8 @@ type CreateLaunchConfigurationInput struct {
// with the IAM role for the instance. The instance profile contains the IAM
// role.
//
- // For more information, see IAM Role for Applications That Run on Amazon EC2
- // Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html)
+ // For more information, see IAM role for applications that run on Amazon EC2
+ // instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html)
// in the Amazon EC2 Auto Scaling User Guide.
IamInstanceProfile *string `min:"1" type:"string"`
@@ -6999,7 +6995,7 @@ type CreateLaunchConfigurationInput struct {
// To create a launch configuration with a block device mapping or override
// any other instance attributes, specify them as part of the same request.
//
- // For more information, see Create a Launch Configuration Using an EC2 Instance
+ // For more information, see Creating a launch configuration using an EC2 instance
// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-lc-with-instanceID.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
@@ -7014,7 +7010,7 @@ type CreateLaunchConfigurationInput struct {
// When detailed monitoring is enabled, Amazon CloudWatch generates metrics
// every minute and your account is charged a fee. When you disable detailed
// monitoring, CloudWatch generates metrics every 5 minutes. For more information,
- // see Configure Monitoring for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-monitoring.html#enable-as-instance-metrics)
+ // see Configure Monitoring for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html)
// in the Amazon EC2 Auto Scaling User Guide.
InstanceMonitoring *InstanceMonitoring `type:"structure"`
@@ -7041,9 +7037,9 @@ type CreateLaunchConfigurationInput struct {
// LaunchConfigurationName is a required field
LaunchConfigurationName *string `min:"1" type:"string" required:"true"`
- // The metadata options for the instances. For more information, see Instance
- // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
- // in the Amazon EC2 User Guide for Linux Instances.
+ // The metadata options for the instances. For more information, see Configuring
+ // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds)
+ // in the Amazon EC2 Auto Scaling User Guide.
MetadataOptions *InstanceMetadataOptions `type:"structure"`
// The tenancy of the instance. An instance with dedicated tenancy runs on isolated,
@@ -7056,7 +7052,8 @@ type CreateLaunchConfigurationInput struct {
// If you specify PlacementTenancy, you must specify at least one subnet for
// VPCZoneIdentifier when you create your group.
//
- // For more information, see Instance Placement Tenancy (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy)
+ // For more information, see Configuring instance tenancy with Amazon EC2 Auto
+ // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Valid Values: default | dedicated
@@ -7079,8 +7076,8 @@ type CreateLaunchConfigurationInput struct {
// The maximum hourly price to be paid for any Spot Instance launched to fulfill
// the request. Spot Instances are launched when the price you specify exceeds
- // the current Spot price. For more information, see Launching Spot Instances
- // in Your Auto Scaling Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html)
+ // the current Spot price. For more information, see Requesting Spot Instances
+ // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// When you change your maximum price by creating a new launch configuration,
@@ -7089,7 +7086,7 @@ type CreateLaunchConfigurationInput struct {
SpotPrice *string `min:"1" type:"string"`
// The Base64-encoded user data to make available to the launched EC2 instances.
- // For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
+ // For more information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
// in the Amazon EC2 User Guide for Linux Instances.
UserData *string `type:"string"`
}
@@ -8042,9 +8039,9 @@ func (s *DescribeAdjustmentTypesOutput) SetAdjustmentTypes(v []*AdjustmentType)
type DescribeAutoScalingGroupsInput struct {
_ struct{} `type:"structure"`
- // The names of the Auto Scaling groups. Each name can be a maximum of 1600
- // characters. By default, you can only specify up to 50 names. You can optionally
- // increase this limit using the MaxRecords parameter.
+ // The names of the Auto Scaling groups. By default, you can only specify up
+ // to 50 names. You can optionally increase this limit using the MaxRecords
+ // parameter.
//
// If you omit this parameter, all Auto Scaling groups are described.
AutoScalingGroupNames []*string `type:"list"`
@@ -9700,8 +9697,8 @@ type Ebs struct {
// customer managed CMK, whether or not the snapshot was encrypted.
//
// For more information, see Using Encryption with EBS-Backed AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html)
- // in the Amazon EC2 User Guide for Linux Instances and Required CMK Key Policy
- // for Use with Encrypted Volumes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html)
+ // in the Amazon EC2 User Guide for Linux Instances and Required CMK key policy
+ // for use with encrypted volumes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html)
// in the Amazon EC2 Auto Scaling User Guide.
Encrypted *bool `type:"boolean"`
@@ -10085,7 +10082,7 @@ type ExecutePolicyInput struct {
// complete before executing the policy.
//
// Valid only if the policy type is SimpleScaling. For more information, see
- // Scaling Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
+ // Scaling cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
// in the Amazon EC2 Auto Scaling User Guide.
HonorCooldown *bool `type:"boolean"`
@@ -10300,7 +10297,7 @@ func (s *FailedScheduledUpdateGroupActionRequest) SetScheduledActionName(v strin
// Describes a filter that is used to return a more specific list of results
// when describing tags.
//
-// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
+// For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html)
// in the Amazon EC2 Auto Scaling User Guide.
type Filter struct {
_ struct{} `type:"structure"`
@@ -10352,6 +10349,9 @@ type Group struct {
// AvailabilityZones is a required field
AvailabilityZones []*string `min:"1" type:"list" required:"true"`
+ // Indicates whether Capacity Rebalancing is enabled.
+ CapacityRebalance *bool `type:"boolean"`
+
// The date and time the group was created.
//
// CreatedTime is a required field
@@ -10471,6 +10471,12 @@ func (s *Group) SetAvailabilityZones(v []*string) *Group {
return s
}
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *Group) SetCapacityRebalance(v bool) *Group {
+ s.CapacityRebalance = &v
+ return s
+}
+
// SetCreatedTime sets the CreatedTime field's value.
func (s *Group) SetCreatedTime(v time.Time) *Group {
s.CreatedTime = &v
@@ -10848,9 +10854,9 @@ func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails {
return s
}
-// The metadata options for the instances. For more information, see Instance
-// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
-// in the Amazon EC2 User Guide for Linux Instances.
+// The metadata options for the instances. For more information, see Configuring
+// the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds)
+// in the Amazon EC2 Auto Scaling User Guide.
type InstanceMetadataOptions struct {
_ struct{} `type:"structure"`
@@ -11062,7 +11068,7 @@ func (s *InstanceRefresh) SetStatusReason(v string) *InstanceRefresh {
// The instances distribution specifies the distribution of On-Demand Instances
// and Spot Instances, the maximum price to pay for Spot Instances, and how
// the Auto Scaling group allocates instance types to fulfill On-Demand and
-// Spot capacity.
+// Spot capacities.
//
// When you update SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice,
// this update action does not deploy any changes across the running Amazon
@@ -11074,75 +11080,49 @@ func (s *InstanceRefresh) SetStatusReason(v string) *InstanceRefresh {
type InstancesDistribution struct {
_ struct{} `type:"structure"`
- // Indicates how to allocate instance types to fulfill On-Demand capacity.
- //
- // The only valid value is prioritized, which is also the default value. This
- // strategy uses the order of instance type overrides for the LaunchTemplate
- // to define the launch priority of each instance type. The first instance type
- // in the array is prioritized higher than the last. If all your On-Demand capacity
- // cannot be fulfilled using your highest priority instance, then the Auto Scaling
- // groups launches the remaining capacity using the second priority instance
- // type, and so on.
+ // Indicates how to allocate instance types to fulfill On-Demand capacity. The
+ // only valid value is prioritized, which is also the default value. This strategy
+ // uses the order of instance types in the overrides to define the launch priority
+ // of each instance type. The first instance type in the array is prioritized
+ // higher than the last. If all your On-Demand capacity cannot be fulfilled
+ // using your highest priority instance, then the Auto Scaling groups launches
+ // the remaining capacity using the second priority instance type, and so on.
OnDemandAllocationStrategy *string `type:"string"`
// The minimum amount of the Auto Scaling group's capacity that must be fulfilled
// by On-Demand Instances. This base portion is provisioned first as your group
- // scales.
- //
- // Default if not set is 0. If you leave it set to 0, On-Demand Instances are
- // launched as a percentage of the Auto Scaling group's desired capacity, per
- // the OnDemandPercentageAboveBaseCapacity setting.
- //
- // An update to this setting means a gradual replacement of instances to maintain
- // the specified number of On-Demand Instances for your base capacity. When
- // replacing instances, Amazon EC2 Auto Scaling launches new instances before
- // terminating the old ones.
+ // scales. Defaults to 0 if not specified. If you specify weights for the instance
+ // types in the overrides, set the value of OnDemandBaseCapacity in terms of
+ // the number of capacity units, and not the number of instances.
OnDemandBaseCapacity *int64 `type:"integer"`
// Controls the percentages of On-Demand Instances and Spot Instances for your
- // additional capacity beyond OnDemandBaseCapacity.
- //
- // Default if not set is 100. If you leave it set to 100, the percentages are
- // 100% for On-Demand Instances and 0% for Spot Instances.
- //
- // An update to this setting means a gradual replacement of instances to maintain
- // the percentage of On-Demand Instances for your additional capacity above
- // the base capacity. When replacing instances, Amazon EC2 Auto Scaling launches
- // new instances before terminating the old ones.
- //
- // Valid Range: Minimum value of 0. Maximum value of 100.
+ // additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for
+ // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults
+ // to 100 if not specified. If set to 100, only On-Demand Instances are provisioned.
OnDemandPercentageAboveBaseCapacity *int64 `type:"integer"`
- // Indicates how to allocate instances across Spot Instance pools.
- //
- // If the allocation strategy is lowest-price, the Auto Scaling group launches
- // instances using the Spot pools with the lowest price, and evenly allocates
- // your instances across the number of Spot pools that you specify. If the allocation
- // strategy is capacity-optimized, the Auto Scaling group launches instances
- // using Spot pools that are optimally chosen based on the available Spot capacity.
- //
- // The default Spot allocation strategy for calls that you make through the
- // API, the AWS CLI, or the AWS SDKs is lowest-price. The default Spot allocation
- // strategy for the AWS Management Console is capacity-optimized.
- //
- // Valid values: lowest-price | capacity-optimized
+ // Indicates how to allocate instances across Spot Instance pools. If the allocation
+ // strategy is lowest-price, the Auto Scaling group launches instances using
+ // the Spot pools with the lowest price, and evenly allocates your instances
+ // across the number of Spot pools that you specify. If the allocation strategy
+ // is capacity-optimized, the Auto Scaling group launches instances using Spot
+ // pools that are optimally chosen based on the available Spot capacity. Defaults
+ // to lowest-price if not specified.
SpotAllocationStrategy *string `type:"string"`
// The number of Spot Instance pools across which to allocate your Spot Instances.
- // The Spot pools are determined from the different instance types in the Overrides
- // array of LaunchTemplate. Default if not set is 2.
- //
- // Used only when the Spot allocation strategy is lowest-price.
+ // The Spot pools are determined from the different instance types in the overrides.
+ // Defaults to 2 if not specified. Valid only when the Spot allocation strategy
+ // is lowest-price.
//
// Valid Range: Minimum value of 1. Maximum value of 20.
SpotInstancePools *int64 `type:"integer"`
// The maximum price per unit hour that you are willing to pay for a Spot Instance.
// If you leave the value of this parameter blank (which is the default), the
- // maximum Spot price is set at the On-Demand price.
- //
- // To remove a value that you previously set, include the parameter but leave
- // the value blank.
+ // maximum Spot price is set at the On-Demand price. To remove a value that
+ // you previously set, include the parameter but leave the value blank.
SpotMaxPrice *string `type:"string"`
}
@@ -11197,23 +11177,20 @@ type LaunchConfiguration struct {
_ struct{} `type:"structure"`
// For Auto Scaling groups that are running in a VPC, specifies whether to assign
- // a public IP address to the group's instances.
- //
- // For more information, see Launching Auto Scaling Instances in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html)
+ // a public IP address to the group's instances. For more information, see Launching
+ // Auto Scaling instances in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html)
// in the Amazon EC2 Auto Scaling User Guide.
AssociatePublicIpAddress *bool `type:"boolean"`
// A block device mapping, which specifies the block devices for the instance.
- //
// For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)
// in the Amazon EC2 User Guide for Linux Instances.
BlockDeviceMappings []*BlockDeviceMapping `type:"list"`
// The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
- //
// For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
// in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic
- // Instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
+ // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
// in the Amazon EC2 Auto Scaling User Guide.
ClassicLinkVPCId *string `min:"1" type:"string"`
@@ -11221,7 +11198,7 @@ type LaunchConfiguration struct {
//
// For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
// in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic
- // Instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
+ // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink)
// in the Amazon EC2 Auto Scaling User Guide.
ClassicLinkVPCSecurityGroups []*string `type:"list"`
@@ -11231,23 +11208,19 @@ type LaunchConfiguration struct {
CreatedTime *time.Time `type:"timestamp" required:"true"`
// Specifies whether the launch configuration is optimized for EBS I/O (true)
- // or not (false).
- //
- // For more information, see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
- // in the Amazon EC2 User Guide for Linux Instances.
+ // or not (false). For more information, see Amazon EBS-Optimized Instances
+ // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) in
+ // the Amazon EC2 User Guide for Linux Instances.
EbsOptimized *bool `type:"boolean"`
// The name or the Amazon Resource Name (ARN) of the instance profile associated
// with the IAM role for the instance. The instance profile contains the IAM
- // role.
- //
- // For more information, see IAM Role for Applications That Run on Amazon EC2
- // Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html)
+ // role. For more information, see IAM role for applications that run on Amazon
+ // EC2 instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html)
// in the Amazon EC2 Auto Scaling User Guide.
IamInstanceProfile *string `min:"1" type:"string"`
// The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.
- //
// For more information, see Finding an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)
// in the Amazon EC2 User Guide for Linux Instances.
//
@@ -11258,7 +11231,7 @@ type LaunchConfiguration struct {
// or basic (false) monitoring.
//
// For more information, see Configure Monitoring for Auto Scaling Instances
- // (https://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-monitoring.html#enable-as-instance-metrics)
+ // (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html)
// in the Amazon EC2 Auto Scaling User Guide.
InstanceMonitoring *InstanceMonitoring `type:"structure"`
@@ -11288,16 +11261,17 @@ type LaunchConfiguration struct {
// LaunchConfigurationName is a required field
LaunchConfigurationName *string `min:"1" type:"string" required:"true"`
- // The metadata options for the instances. For more information, see Instance
- // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
- // in the Amazon EC2 User Guide for Linux Instances.
+ // The metadata options for the instances. For more information, see Configuring
+ // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds)
+ // in the Amazon EC2 Auto Scaling User Guide.
MetadataOptions *InstanceMetadataOptions `type:"structure"`
// The tenancy of the instance, either default or dedicated. An instance with
// dedicated tenancy runs on isolated, single-tenant hardware and can only be
// launched into a VPC.
//
- // For more information, see Instance Placement Tenancy (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-vpc-tenancy)
+ // For more information, see Configuring instance tenancy with Amazon EC2 Auto
+ // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html)
// in the Amazon EC2 Auto Scaling User Guide.
PlacementTenancy *string `min:"1" type:"string"`
@@ -11305,24 +11279,20 @@ type LaunchConfiguration struct {
RamdiskId *string `min:"1" type:"string"`
// A list that contains the security groups to assign to the instances in the
- // Auto Scaling group.
- //
- // For more information, see Security Groups for Your VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
+ // Auto Scaling group. For more information, see Security Groups for Your VPC
+ // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
// in the Amazon Virtual Private Cloud User Guide.
SecurityGroups []*string `type:"list"`
// The maximum hourly price to be paid for any Spot Instance launched to fulfill
// the request. Spot Instances are launched when the price you specify exceeds
- // the current Spot price.
- //
- // For more information, see Launching Spot Instances in Your Auto Scaling Group
+ // the current Spot price. For more information, see Requesting Spot Instances
// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html)
// in the Amazon EC2 Auto Scaling User Guide.
SpotPrice *string `min:"1" type:"string"`
// The Base64-encoded user data to make available to the launched EC2 instances.
- //
- // For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
+ // For more information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
// in the Amazon EC2 User Guide for Linux Instances.
UserData *string `type:"string"`
}
@@ -11470,16 +11440,14 @@ func (s *LaunchConfiguration) SetUserData(v string) *LaunchConfiguration {
type LaunchTemplate struct {
_ struct{} `type:"structure"`
- // The launch template to use. You must specify either the launch template ID
- // or launch template name in the request.
+ // The launch template to use.
LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"`
// Any parameters that you specify override the same parameters in the launch
// template. Currently, the only supported override is instance type. You can
- // specify between 1 and 20 instance types.
- //
- // If not provided, Amazon EC2 Auto Scaling will use the instance type specified
- // in the launch template to launch instances.
+ // specify between 1 and 20 instance types. If not provided, Amazon EC2 Auto
+ // Scaling will use the instance type specified in the launch template when
+ // it launches an instance.
Overrides []*LaunchTemplateOverrides `type:"list"`
}
@@ -11538,22 +11506,22 @@ func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTempl
type LaunchTemplateOverrides struct {
_ struct{} `type:"structure"`
- // The instance type. You must use an instance type that is supported in your
- // requested Region and Availability Zones.
- //
- // For information about available instance types, see Available Instance Types
- // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)
+ // The instance type, such as m3.xlarge. You must use an instance type that
+ // is supported in your requested Region and Availability Zones. For information
+ // about available instance types, see Available instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)
// in the Amazon Elastic Compute Cloud User Guide.
InstanceType *string `min:"1" type:"string"`
- // The number of capacity units, which gives the instance type a proportional
- // weight to other instance types. For example, larger instance types are generally
- // weighted more than smaller instance types. These are the same units that
- // you chose to set the desired capacity in terms of instances, or a performance
- // attribute such as vCPUs, memory, or I/O.
- //
- // For more information, see Instance Weighting for Amazon EC2 Auto Scaling
- // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
+ // The number of capacity units provided by the specified instance type in terms
+ // of virtual CPUs, memory, storage, throughput, or other relative performance
+ // characteristic. When a Spot or On-Demand Instance is provisioned, the capacity
+ // units count toward the desired capacity. Amazon EC2 Auto Scaling provisions
+ // instances until the desired capacity is totally fulfilled, even if this results
+ // in an overage. For example, if there are 2 units remaining to fulfill capacity,
+ // and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity
+ // of 5 units, the instance is provisioned, and the desired capacity is exceeded
+ // by 3 units. For more information, see Instance weighting for Amazon EC2 Auto
+ // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Valid Range: Minimum value of 1. Maximum value of 999.
@@ -11602,8 +11570,8 @@ func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateO
// that can be used by an Auto Scaling group to configure Amazon EC2 instances.
//
// The launch template that is specified must be configured for use with an
-// Auto Scaling group. For more information, see Creating a Launch Template
-// for an Auto Scaling Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+// Auto Scaling group. For more information, see Creating a launch template
+// for an Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
// in the Amazon EC2 Auto Scaling User Guide.
type LaunchTemplateSpecification struct {
_ struct{} `type:"structure"`
@@ -11612,30 +11580,24 @@ type LaunchTemplateSpecification struct {
// DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html)
// API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html)
- // API.
- //
- // You must specify either a template ID or a template name.
+ // API. You must specify either a LaunchTemplateId or a LaunchTemplateName.
LaunchTemplateId *string `min:"1" type:"string"`
// The name of the launch template. To get the template name, use the Amazon
// EC2 DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html)
// API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate
// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html)
- // API.
- //
- // You must specify either a template ID or a template name.
+ // API. You must specify either a LaunchTemplateId or a LaunchTemplateName.
LaunchTemplateName *string `min:"3" type:"string"`
// The version number, $Latest, or $Default. To get the version number, use
// the Amazon EC2 DescribeLaunchTemplateVersions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html)
// API operation. New launch template versions can be created using the Amazon
// EC2 CreateLaunchTemplateVersion (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html)
- // API.
- //
- // If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version
- // of the launch template when launching instances. If the value is $Default,
- // Amazon EC2 Auto Scaling selects the default version of the launch template
- // when launching instances. The default value is $Default.
+ // API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest
+ // version of the launch template when launching instances. If the value is
+ // $Default, Amazon EC2 Auto Scaling selects the default version of the launch
+ // template when launching instances. The default value is $Default.
Version *string `min:"1" type:"string"`
}
@@ -11824,7 +11786,7 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook {
//
// If you finish before the timeout period ends, complete the lifecycle action.
//
-// For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
+// For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html)
// in the Amazon EC2 Auto Scaling User Guide.
type LifecycleHookSpecification struct {
_ struct{} `type:"structure"`
@@ -12200,19 +12162,16 @@ func (s *MetricGranularityType) SetGranularity(v string) *MetricGranularityType
// You can create a mixed instances policy for a new Auto Scaling group, or
// you can create it for an existing group by updating the group to specify
// MixedInstancesPolicy as the top-level parameter instead of a launch configuration
-// or launch template. For more information, see CreateAutoScalingGroup and
-// UpdateAutoScalingGroup.
+// or launch template.
type MixedInstancesPolicy struct {
_ struct{} `type:"structure"`
- // The instances distribution to use.
- //
- // If you leave this parameter unspecified, the value for each parameter in
- // InstancesDistribution uses a default value.
+ // Specifies the instances distribution. If not provided, the value for each
+ // parameter in InstancesDistribution uses a default value.
InstancesDistribution *InstancesDistribution `type:"structure"`
- // The launch template and instance types (overrides).
- //
+ // Specifies the launch template to use and optionally the instance types (overrides)
+ // that are used to provision EC2 instances to fulfill On-Demand and Spot capacities.
// Required when creating a mixed instances policy.
LaunchTemplate *LaunchTemplate `type:"structure"`
}
@@ -12333,16 +12292,18 @@ type PredefinedMetricSpecification struct {
// a resource label unless the metric type is ALBRequestCountPerTarget and there
// is a target group attached to the Auto Scaling group.
//
- // Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch.
- // CloudWatch collects the data and specifies the format to use to access the
- // data. The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
- // , where
+ // You create the resource label by appending the final portion of the load
+ // balancer ARN and the final portion of the target group ARN into a single
+ // value, separated by a forward slash (/). The format is app///targetgroup//,
+ // where:
+ //
+ // * app// is the final portion of
+ // the load balancer ARN
//
- // * app/load-balancer-name/load-balancer-id is the final portion of the
- // load balancer ARN, and
+ // * targetgroup// is the final portion
+ // of the target group ARN.
//
- // * targetgroup/target-group-name/target-group-id is the final portion of
- // the target group ARN.
+ // This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
//
// To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers
// (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)
@@ -12392,7 +12353,7 @@ func (s *PredefinedMetricSpecification) SetResourceLabel(v string) *PredefinedMe
// Describes a process type.
//
-// For more information, see Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types)
+// For more information, see Scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types)
// in the Amazon EC2 Auto Scaling User Guide.
type ProcessType struct {
_ struct{} `type:"structure"`
@@ -12698,7 +12659,7 @@ type PutScalingPolicyInput struct {
// and PercentChangeInCapacity.
//
// Required if the policy type is StepScaling or SimpleScaling. For more information,
- // see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment)
+ // see Scaling adjustment types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment)
// in the Amazon EC2 Auto Scaling User Guide.
AdjustmentType *string `min:"1" type:"string"`
@@ -12712,13 +12673,13 @@ type PutScalingPolicyInput struct {
// for the Auto Scaling group.
//
// Valid only if the policy type is SimpleScaling. For more information, see
- // Scaling Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
+ // Scaling cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
// in the Amazon EC2 Auto Scaling User Guide.
Cooldown *int64 `type:"integer"`
// Indicates whether the scaling policy is enabled or disabled. The default
- // is enabled. For more information, see Disabling a Scaling Policy for an Auto
- // Scaling Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html)
+ // is enabled. For more information, see Disabling a scaling policy for an Auto
+ // Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html)
// in the Amazon EC2 Auto Scaling User Guide.
Enabled *bool `type:"boolean"`
@@ -12744,7 +12705,7 @@ type PutScalingPolicyInput struct {
// of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.
//
// Valid only if the policy type is StepScaling or SimpleScaling. For more information,
- // see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment)
+ // see Scaling adjustment types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment)
// in the Amazon EC2 Auto Scaling User Guide.
//
// Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude
@@ -13329,8 +13290,8 @@ type ScalingPolicy struct {
//
// * SimpleScaling (default)
//
- // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)
- // and Step and Simple Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)
+ // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)
+ // and Step and simple scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)
// in the Amazon EC2 Auto Scaling User Guide.
PolicyType *string `min:"1" type:"string"`
@@ -13926,7 +13887,7 @@ type SetInstanceProtectionInput struct {
// AutoScalingGroupName is a required field
AutoScalingGroupName *string `min:"1" type:"string" required:"true"`
- // One or more instance IDs.
+ // One or more instance IDs. You can specify up to 50 instances.
//
// InstanceIds is a required field
InstanceIds []*string `type:"list" required:"true"`
@@ -14125,7 +14086,7 @@ func (s *StartInstanceRefreshOutput) SetInstanceRefreshId(v string) *StartInstan
//
// * The upper and lower bound can't be null in the same step adjustment.
//
-// For more information, see Step Adjustments (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-steps)
+// For more information, see Step adjustments (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-steps)
// in the Amazon EC2 Auto Scaling User Guide.
type StepAdjustment struct {
_ struct{} `type:"structure"`
@@ -14210,9 +14171,9 @@ func (s SuspendProcessesOutput) GoString() string {
return s.String()
}
-// Describes an automatic scaling process that has been suspended.
+// Describes an auto scaling process that has been suspended.
//
-// For more information, see Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types)
+// For more information, see Scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types)
// in the Amazon EC2 Auto Scaling User Guide.
type SuspendedProcess struct {
_ struct{} `type:"structure"`
@@ -14558,30 +14519,32 @@ type UpdateAutoScalingGroupInput struct {
// One or more Availability Zones for the group.
AvailabilityZones []*string `min:"1" type:"list"`
+ // Enables or disables Capacity Rebalancing. For more information, see Amazon
+ // EC2 Auto Scaling Capacity Rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html)
+ // in the Amazon EC2 Auto Scaling User Guide.
+ CapacityRebalance *bool `type:"boolean"`
+
// The amount of time, in seconds, after a scaling activity completes before
- // another scaling activity can start. The default value is 300.
- //
- // This setting applies when using simple scaling policies, but not when using
- // other scaling policies or scheduled scaling. For more information, see Scaling
- // Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
+ // another scaling activity can start. The default value is 300. This setting
+ // applies when using simple scaling policies, but not when using other scaling
+ // policies or scheduled scaling. For more information, see Scaling cooldowns
+ // for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)
// in the Amazon EC2 Auto Scaling User Guide.
DefaultCooldown *int64 `type:"integer"`
// The desired capacity is the initial capacity of the Auto Scaling group after
- // this operation completes and the capacity it attempts to maintain.
- //
- // This number must be greater than or equal to the minimum size of the group
- // and less than or equal to the maximum size of the group.
+ // this operation completes and the capacity it attempts to maintain. This number
+ // must be greater than or equal to the minimum size of the group and less than
+ // or equal to the maximum size of the group.
DesiredCapacity *int64 `type:"integer"`
// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
// checking the health status of an EC2 instance that has come into service.
- // The default value is 0.
- //
- // For more information, see Health Check Grace Period (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period)
+ // The default value is 0. For more information, see Health check grace period
+ // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period)
// in the Amazon EC2 Auto Scaling User Guide.
//
- // Required if you are adding an ELB health check.
+ // Conditional: Required if you are adding an ELB health check.
HealthCheckGracePeriod *int64 `type:"integer"`
// The service to use for the health checks. The valid values are EC2 and ELB.
@@ -14597,23 +14560,14 @@ type UpdateAutoScalingGroupInput struct {
// The launch template and version to use to specify the updates. If you specify
// LaunchTemplate in your update request, you can't specify LaunchConfigurationName
// or MixedInstancesPolicy.
- //
- // For more information, see LaunchTemplateSpecification (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)
- // in the Amazon EC2 Auto Scaling API Reference.
LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
// The maximum amount of time, in seconds, that an instance can be in service.
- // The default is null.
- //
- // This parameter is optional, but if you specify a value for it, you must specify
- // a value of at least 604,800 seconds (7 days). To clear a previously set value,
- // specify a new value of 0.
- //
- // For more information, see Replacing Auto Scaling Instances Based on Maximum
- // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html)
+ // The default is null. If specified, the value must be either 0 or a number
+ // equal to or greater than 86,400 seconds (1 day). To clear a previously set
+ // value, specify a new value of 0. For more information, see Replacing Auto
+ // Scaling instances based on maximum instance lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html)
// in the Amazon EC2 Auto Scaling User Guide.
- //
- // Valid Range: Minimum value of 0.
MaxInstanceLifetime *int64 `type:"integer"`
// The maximum size of the Auto Scaling group.
@@ -14628,51 +14582,42 @@ type UpdateAutoScalingGroupInput struct {
// The minimum size of the Auto Scaling group.
MinSize *int64 `type:"integer"`
- // An embedded object that specifies a mixed instances policy.
- //
- // In your call to UpdateAutoScalingGroup, you can make changes to the policy
- // that is specified. All optional parameters are left unchanged if not specified.
- //
- // For more information, see MixedInstancesPolicy (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MixedInstancesPolicy.html)
- // in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with
- // Multiple Instance Types and Purchase Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html)
+ // An embedded object that specifies a mixed instances policy. When you make
+ // changes to an existing policy, all optional parameters are left unchanged
+ // if not specified. For more information, see Auto Scaling Groups with Multiple
+ // Instance Types and Purchase Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html)
// in the Amazon EC2 Auto Scaling User Guide.
MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"`
// Indicates whether newly launched instances are protected from termination
- // by Amazon EC2 Auto Scaling when scaling in.
- //
- // For more information about preventing instances from terminating on scale
- // in, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
+ // by Amazon EC2 Auto Scaling when scaling in. For more information about preventing
+ // instances from terminating on scale in, see Instance scale-in protection
+ // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection)
// in the Amazon EC2 Auto Scaling User Guide.
NewInstancesProtectedFromScaleIn *bool `type:"boolean"`
- // The name of the placement group into which to launch your instances, if any.
- // A placement group is a logical grouping of instances within a single Availability
- // Zone. You cannot specify multiple Availability Zones and a placement group.
- // For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ // The name of an existing placement group into which to launch your instances,
+ // if any. A placement group is a logical grouping of instances within a single
+ // Availability Zone. You cannot specify multiple Availability Zones and a placement
+ // group. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
// in the Amazon EC2 User Guide for Linux Instances.
PlacementGroup *string `min:"1" type:"string"`
// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling
// group uses to call other AWS services on your behalf. For more information,
- // see Service-Linked Roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)
+ // see Service-linked roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html)
// in the Amazon EC2 Auto Scaling User Guide.
ServiceLinkedRoleARN *string `min:"1" type:"string"`
- // A standalone termination policy or a list of termination policies used to
- // select the instance to terminate. The policies are executed in the order
- // that they are listed.
- //
- // For more information, see Controlling Which Instances Auto Scaling Terminates
- // During Scale In (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
+ // A policy or a list of policies that are used to select the instances to terminate.
+ // The policies are executed in the order that you list them. For more information,
+ // see Controlling which Auto Scaling instances terminate during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html)
// in the Amazon EC2 Auto Scaling User Guide.
TerminationPolicies []*string `type:"list"`
- // A comma-separated list of subnet IDs for virtual private cloud (VPC).
- //
- // If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that
- // you specify for this parameter must reside in those Availability Zones.
+ // A comma-separated list of subnet IDs for a virtual private cloud (VPC). If
+ // you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you
+ // specify for this parameter must reside in those Availability Zones.
VPCZoneIdentifier *string `min:"1" type:"string"`
}
@@ -14742,6 +14687,12 @@ func (s *UpdateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *UpdateA
return s
}
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *UpdateAutoScalingGroupInput) SetCapacityRebalance(v bool) *UpdateAutoScalingGroupInput {
+ s.CapacityRebalance = &v
+ return s
+}
+
// SetDefaultCooldown sets the DefaultCooldown field's value.
func (s *UpdateAutoScalingGroupInput) SetDefaultCooldown(v int64) *UpdateAutoScalingGroupInput {
s.DefaultCooldown = &v
diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go
index 7a2d4b2d1..ae1dc7b93 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go
@@ -699,6 +699,10 @@ func (c *CloudWatch) DescribeAlarmsForMetricRequest(input *DescribeAlarmsForMetr
// Retrieves the alarms for the specified metric. To filter the results, specify
// a statistic, period, or unit.
//
+// This operation retrieves only standard alarms that are based on the specified
+// metric. It does not return alarms based on math expressions that use the
+// specified metric, or composite alarms that use the specified metric.
+//
// 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.
@@ -864,8 +868,7 @@ func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInpu
// DescribeInsightRules API operation for Amazon CloudWatch.
//
-// Returns a list of all the Contributor Insights rules in your account. All
-// rules in your account are returned with a single operation.
+// Returns a list of all the Contributor Insights rules in your account.
//
// For more information about Contributor Insights, see Using Contributor Insights
// to Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html).
@@ -2868,6 +2871,10 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque
// information about specifying dimensions, see Publishing Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
// in the Amazon CloudWatch User Guide.
//
+// You specify the time stamp to be associated with each data point. You can
+// specify time stamps that are as much as two weeks before the current date,
+// and as much as 2 hours after the current day and time.
+//
// Data points with time stamps from 24 hours ago or longer can take at least
// 48 hours to become available for GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)
// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)
@@ -4625,11 +4632,12 @@ func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomaly
type DescribeInsightRulesInput struct {
_ struct{} `type:"structure"`
- // This parameter is not currently used. Reserved for future use. If it is used
- // in the future, the maximum value might be different.
+ // The maximum number of results to return in one operation. If you omit this
+ // parameter, the default of 500 is used.
MaxResults *int64 `min:"1" type:"integer"`
- // Reserved for future use.
+ // Include this value, if it was returned by the previous operation, to get
+ // the next set of rules.
NextToken *string `type:"string"`
}
@@ -4674,7 +4682,8 @@ type DescribeInsightRulesOutput struct {
// The rules returned by the operation.
InsightRules []*InsightRule `type:"list"`
- // Reserved for future use.
+ // If this parameter is present, it is a token that marks the start of the next
+ // batch of returned results.
NextToken *string `type:"string"`
}
@@ -4713,7 +4722,8 @@ type Dimension struct {
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
- // The value of the dimension.
+ // The value of the dimension. Dimension values cannot contain blank spaces
+ // or non-ASCII characters.
//
// Value is a required field
Value *string `min:"1" type:"string" required:"true"`
@@ -5379,8 +5389,8 @@ type GetMetricDataInput struct {
// MetricDataQueries is a required field
MetricDataQueries []*MetricDataQuery `type:"list" required:"true"`
- // Include this value, if it was returned by the previous call, to get the next
- // set of data points.
+ // Include this value, if it was returned by the previous GetMetricData operation,
+ // to get the next set of data points.
NextToken *string `type:"string"`
// The order in which data points should be returned. TimestampDescending returns
@@ -6257,13 +6267,16 @@ func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput {
type ListMetricsInput struct {
_ struct{} `type:"structure"`
- // The dimensions to filter against.
+ // The dimensions to filter against. Only the dimensions that match exactly
+ // will be returned.
Dimensions []*DimensionFilter `type:"list"`
- // The name of the metric to filter against.
+ // The name of the metric to filter against. Only the metrics with names that
+ // match exactly will be returned.
MetricName *string `min:"1" type:"string"`
- // The namespace to filter against.
+ // The metric namespace to filter against. Only the namespace that matches exactly
+ // will be returned.
Namespace *string `min:"1" type:"string"`
// The token returned by a previous call to indicate that there is more data
@@ -6610,7 +6623,7 @@ type MetricAlarm struct {
// An array of MetricDataQuery structures, used in an alarm based on a metric
// math expression. Each structure either retrieves a metric or performs a math
// expression. One item in the Metrics array is the math expression that the
- // alarm watches. This expression by designated by having ReturnValue set to
+ // alarm watches. This expression by designated by having ReturnData set to
// true.
Metrics []*MetricDataQuery `type:"list"`
@@ -7400,8 +7413,6 @@ type PutAnomalyDetectorInput struct {
// the model. You can specify as many as 10 time ranges.
//
// The configuration can also include the time zone to use for the metric.
- //
- // You can in
Configuration *AnomalyDetectorConfiguration `type:"structure"`
// The metric dimensions to create the anomaly detection model for.
@@ -8029,8 +8040,8 @@ type PutMetricAlarmInput struct {
// expression.
//
// One item in the Metrics array is the expression that the alarm watches. You
- // designate this expression by setting ReturnValue to true for this object
- // in the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html).
+ // designate this expression by setting ReturnData to true for this object in
+ // the array. For more information, see MetricDataQuery (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDataQuery.html).
//
// If you use the Metrics parameter, you cannot include the MetricName, Dimensions,
// Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm
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 a0bb5c159..e42da3f3a 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
@@ -1190,6 +1190,98 @@ func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateD
return out, req.Send()
}
+const opAssociateEnclaveCertificateIamRole = "AssociateEnclaveCertificateIamRole"
+
+// AssociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
+// client's request for the AssociateEnclaveCertificateIamRole 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 AssociateEnclaveCertificateIamRole for more information on using the AssociateEnclaveCertificateIamRole
+// 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 AssociateEnclaveCertificateIamRoleRequest method.
+// req, resp := client.AssociateEnclaveCertificateIamRoleRequest(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/AssociateEnclaveCertificateIamRole
+func (c *EC2) AssociateEnclaveCertificateIamRoleRequest(input *AssociateEnclaveCertificateIamRoleInput) (req *request.Request, output *AssociateEnclaveCertificateIamRoleOutput) {
+ op := &request.Operation{
+ Name: opAssociateEnclaveCertificateIamRole,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateEnclaveCertificateIamRoleInput{}
+ }
+
+ output = &AssociateEnclaveCertificateIamRoleOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// AssociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
+//
+// Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate
+// Manager (ACM) certificate. This enables the certificate to be used by the
+// ACM for Nitro Enclaves application inside an enclave. For more information,
+// see AWS Certificate Manager for Nitro Enclaves (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html)
+// in the AWS Nitro Enclaves User Guide.
+//
+// When the IAM role is associated with the ACM certificate, places the certificate,
+// certificate chain, and encrypted private key in an Amazon S3 bucket that
+// only the associated IAM role can access. The private key of the certificate
+// is encrypted with an AWS-managed KMS customer master (CMK) that has an attached
+// attestation-based CMK policy.
+//
+// To enable the IAM role to access the Amazon S3 object, you must grant it
+// permission to call s3:GetObject on the Amazon S3 bucket returned by the command.
+// To enable the IAM role to access the AWS KMS CMK, you must grant it permission
+// to call kms:Decrypt on AWS KMS CMK returned by the command. For more information,
+// see Grant the role permission to access the certificate and encryption key
+// (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html#add-policy)
+// in the AWS Nitro Enclaves 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 AssociateEnclaveCertificateIamRole for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole
+func (c *EC2) AssociateEnclaveCertificateIamRole(input *AssociateEnclaveCertificateIamRoleInput) (*AssociateEnclaveCertificateIamRoleOutput, error) {
+ req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
+ return out, req.Send()
+}
+
+// AssociateEnclaveCertificateIamRoleWithContext is the same as AssociateEnclaveCertificateIamRole with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateEnclaveCertificateIamRole 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) AssociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *AssociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*AssociateEnclaveCertificateIamRoleOutput, error) {
+ req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
@@ -7532,6 +7624,10 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ
// the subnets in which to create an endpoint, and the security groups to associate
// with the endpoint network interface.
//
+// A GatewayLoadBalancer endpoint is a network interface in your subnet that
+// serves an endpoint for communicating with a Gateway Load Balancer that you've
+// configured as a VPC endpoint service.
+//
// Use DescribeVpcEndpointServices to get a list of supported services.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -7687,12 +7783,19 @@ func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpo
// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
//
// Creates a VPC endpoint service configuration to which service consumers (AWS
-// accounts, IAM users, and IAM roles) can connect. Service consumers can create
-// an interface VPC endpoint to connect to your service.
+// accounts, IAM users, and IAM roles) can connect.
+//
+// To create an endpoint service configuration, you must first create one of
+// the following for your service:
//
-// To create an endpoint service configuration, you must first create a Network
-// Load Balancer for your service. For more information, see VPC Endpoint Services
-// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
+// * A Network Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html).
+// Service consumers connect to your service using an interface endpoint.
+//
+// * A Gateway Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html).
+// Service consumers connect to your service using a Gateway Load Balancer
+// endpoint.
+//
+// For more information, see VPC Endpoint Services (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
// in the Amazon Virtual Private Cloud User Guide.
//
// If you set the private DNS name, you must prove that you own the private
@@ -11545,8 +11648,10 @@ func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *re
//
// Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
// also deletes the endpoint routes in the route tables that were associated
-// with the endpoint. Deleting an interface endpoint deletes the endpoint network
-// interfaces.
+// with the endpoint. Deleting an interface endpoint or a Gateway Load Balancer
+// endpoint deletes the endpoint network interfaces. Gateway Load Balancer endpoints
+// can only be deleted if the routes that are associated with the endpoint are
+// deleted.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -25354,6 +25459,13 @@ func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServi
//
// Describes available services to which you can create a VPC endpoint.
//
+// When the service provider and the consumer have different accounts multiple
+// Availability Zones, and the consumer views the VPC endpoint service information,
+// the response only includes the common Availability Zones. For example, when
+// the service provider account uses us-east-1a and us-east-1c and the consumer
+// uses us-east-1a and us-east-1a and us-east-1b, the response includes the
+// VPC endpoint services in the common Availability Zone, us-east-1a.
+//
// 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.
@@ -26960,6 +27072,86 @@ func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, inp
return out, req.Send()
}
+const opDisassociateEnclaveCertificateIamRole = "DisassociateEnclaveCertificateIamRole"
+
+// DisassociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
+// client's request for the DisassociateEnclaveCertificateIamRole 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 DisassociateEnclaveCertificateIamRole for more information on using the DisassociateEnclaveCertificateIamRole
+// 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 DisassociateEnclaveCertificateIamRoleRequest method.
+// req, resp := client.DisassociateEnclaveCertificateIamRoleRequest(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/DisassociateEnclaveCertificateIamRole
+func (c *EC2) DisassociateEnclaveCertificateIamRoleRequest(input *DisassociateEnclaveCertificateIamRoleInput) (req *request.Request, output *DisassociateEnclaveCertificateIamRoleOutput) {
+ op := &request.Operation{
+ Name: opDisassociateEnclaveCertificateIamRole,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateEnclaveCertificateIamRoleInput{}
+ }
+
+ output = &DisassociateEnclaveCertificateIamRoleOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DisassociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
+//
+// Disassociates an IAM role from an AWS Certificate Manager (ACM) certificate.
+// Disassociating an IAM role from an ACM certificate removes the Amazon S3
+// object that contains the certificate, certificate chain, and encrypted private
+// key from the Amazon S3 bucket. It also revokes the IAM role's permission
+// to use the AWS Key Management Service (KMS) customer master key (CMK) used
+// to encrypt the private key. This effectively revokes the role's permission
+// to use the certificate.
+//
+// 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 DisassociateEnclaveCertificateIamRole for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole
+func (c *EC2) DisassociateEnclaveCertificateIamRole(input *DisassociateEnclaveCertificateIamRoleInput) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
+ req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
+ return out, req.Send()
+}
+
+// DisassociateEnclaveCertificateIamRoleWithContext is the same as DisassociateEnclaveCertificateIamRole with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateEnclaveCertificateIamRole 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) DisassociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *DisassociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
+ req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
@@ -28289,6 +28481,85 @@ func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *Expo
return out, req.Send()
}
+const opGetAssociatedEnclaveCertificateIamRoles = "GetAssociatedEnclaveCertificateIamRoles"
+
+// GetAssociatedEnclaveCertificateIamRolesRequest generates a "aws/request.Request" representing the
+// client's request for the GetAssociatedEnclaveCertificateIamRoles 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 GetAssociatedEnclaveCertificateIamRoles for more information on using the GetAssociatedEnclaveCertificateIamRoles
+// 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 GetAssociatedEnclaveCertificateIamRolesRequest method.
+// req, resp := client.GetAssociatedEnclaveCertificateIamRolesRequest(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/GetAssociatedEnclaveCertificateIamRoles
+func (c *EC2) GetAssociatedEnclaveCertificateIamRolesRequest(input *GetAssociatedEnclaveCertificateIamRolesInput) (req *request.Request, output *GetAssociatedEnclaveCertificateIamRolesOutput) {
+ op := &request.Operation{
+ Name: opGetAssociatedEnclaveCertificateIamRoles,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetAssociatedEnclaveCertificateIamRolesInput{}
+ }
+
+ output = &GetAssociatedEnclaveCertificateIamRolesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetAssociatedEnclaveCertificateIamRoles API operation for Amazon Elastic Compute Cloud.
+//
+// Returns the IAM roles that are associated with the specified AWS Certificate
+// Manager (ACM) certificate. It also returns the name of the Amazon S3 bucket
+// and the Amazon S3 object key where the certificate, certificate chain, and
+// encrypted private key bundle are stored, and the ARN of the AWS Key Management
+// Service (KMS) customer master key (CMK) that's used to encrypt the private
+// key.
+//
+// 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 GetAssociatedEnclaveCertificateIamRoles for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles
+func (c *EC2) GetAssociatedEnclaveCertificateIamRoles(input *GetAssociatedEnclaveCertificateIamRolesInput) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
+ req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
+ return out, req.Send()
+}
+
+// GetAssociatedEnclaveCertificateIamRolesWithContext is the same as GetAssociatedEnclaveCertificateIamRoles with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetAssociatedEnclaveCertificateIamRoles 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) GetAssociatedEnclaveCertificateIamRolesWithContext(ctx aws.Context, input *GetAssociatedEnclaveCertificateIamRolesInput, opts ...request.Option) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
+ req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetAssociatedIpv6PoolCidrs = "GetAssociatedIpv6PoolCidrs"
// GetAssociatedIpv6PoolCidrsRequest generates a "aws/request.Request" representing the
@@ -33616,8 +33887,8 @@ func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *requ
// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
//
// Modifies attributes of a specified VPC endpoint. The attributes that you
-// can modify depend on the type of VPC endpoint (interface or gateway). For
-// more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
+// can modify depend on the type of VPC endpoint (interface, gateway, or Gateway
+// Load Balancer). For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
// in the Amazon Virtual Private Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -33769,9 +34040,9 @@ func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpo
// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
//
// Modifies the attributes of your VPC endpoint service configuration. You can
-// change the Network Load Balancers for your service, and you can specify whether
-// acceptance is required for requests to connect to your endpoint service through
-// an interface VPC endpoint.
+// change the Network Load Balancers or Gateway Load Balancers for your service,
+// and you can specify whether acceptance is required for requests to connect
+// to your endpoint service through an interface VPC endpoint.
//
// If you set or modify the private DNS name, you must prove that you own the
// private DNS domain name. For more information, see VPC Endpoint Service Private
@@ -34958,7 +35229,7 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.
// succeeds if the instances are valid and belong to you. Requests to reboot
// terminated instances are ignored.
//
-// If an instance does not cleanly shut down within four minutes, Amazon EC2
+// If an instance does not cleanly shut down within a few minutes, Amazon EC2
// performs a hard reboot.
//
// For more information about troubleshooting, see Getting console output and
@@ -38230,7 +38501,7 @@ func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationRequest(input *StartV
//
// Before the service provider runs this command, they must add a record to
// the DNS server. For more information, see Adding a TXT Record to Your Domain's
-// DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record)
+// DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html#add-dns-txt-record)
// in the Amazon VPC User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -40779,6 +41050,109 @@ func (s AssociateDhcpOptionsOutput) GoString() string {
return s.String()
}
+type AssociateEnclaveCertificateIamRoleInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the ACM certificate with which to associate the IAM role.
+ CertificateArn *string `min:"1" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ARN of the IAM role to associate with the ACM certificate. You can associate
+ // up to 16 IAM roles with an ACM certificate.
+ RoleArn *string `min:"1" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateEnclaveCertificateIamRoleInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateEnclaveCertificateIamRoleInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *AssociateEnclaveCertificateIamRoleInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "AssociateEnclaveCertificateIamRoleInput"}
+ if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
+ }
+ if s.RoleArn != nil && len(*s.RoleArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateArn sets the CertificateArn field's value.
+func (s *AssociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *AssociateEnclaveCertificateIamRoleInput {
+ s.CertificateArn = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *AssociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *AssociateEnclaveCertificateIamRoleInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRoleArn sets the RoleArn field's value.
+func (s *AssociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *AssociateEnclaveCertificateIamRoleInput {
+ s.RoleArn = &v
+ return s
+}
+
+type AssociateEnclaveCertificateIamRoleOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the Amazon S3 bucket to which the certificate was uploaded.
+ CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
+
+ // The Amazon S3 object key where the certificate, certificate chain, and encrypted
+ // private key bundle are stored. The object key is formatted as follows: certificate_arn/role_arn.
+ CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
+
+ // The ID of the AWS KMS CMK used to encrypt the private key of the certificate.
+ EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociateEnclaveCertificateIamRoleOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateEnclaveCertificateIamRoleOutput) GoString() string {
+ return s.String()
+}
+
+// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
+func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3BucketName(v string) *AssociateEnclaveCertificateIamRoleOutput {
+ s.CertificateS3BucketName = &v
+ return s
+}
+
+// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
+func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3ObjectKey(v string) *AssociateEnclaveCertificateIamRoleOutput {
+ s.CertificateS3ObjectKey = &v
+ return s
+}
+
+// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
+func (s *AssociateEnclaveCertificateIamRoleOutput) SetEncryptionKmsKeyId(v string) *AssociateEnclaveCertificateIamRoleOutput {
+ s.EncryptionKmsKeyId = &v
+ return s
+}
+
type AssociateIamInstanceProfileInput struct {
_ struct{} `type:"structure"`
@@ -41337,6 +41711,59 @@ func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockO
return s
}
+// Information about the associated IAM roles.
+type AssociatedRole struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the associated IAM role.
+ AssociatedRoleArn *string `locationName:"associatedRoleArn" min:"1" type:"string"`
+
+ // The name of the Amazon S3 bucket in which the Amazon S3 object is stored.
+ CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
+
+ // The key of the Amazon S3 object ey where the certificate, certificate chain,
+ // and encrypted private key bundle is stored. The object key is formated as
+ // follows: certificate_arn/role_arn.
+ CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
+
+ // The ID of the KMS customer master key (CMK) used to encrypt the private key.
+ EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
+}
+
+// String returns the string representation
+func (s AssociatedRole) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociatedRole) GoString() string {
+ return s.String()
+}
+
+// SetAssociatedRoleArn sets the AssociatedRoleArn field's value.
+func (s *AssociatedRole) SetAssociatedRoleArn(v string) *AssociatedRole {
+ s.AssociatedRoleArn = &v
+ return s
+}
+
+// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
+func (s *AssociatedRole) SetCertificateS3BucketName(v string) *AssociatedRole {
+ s.CertificateS3BucketName = &v
+ return s
+}
+
+// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
+func (s *AssociatedRole) SetCertificateS3ObjectKey(v string) *AssociatedRole {
+ s.CertificateS3ObjectKey = &v
+ return s
+}
+
+// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
+func (s *AssociatedRole) SetEncryptionKmsKeyId(v string) *AssociatedRole {
+ s.EncryptionKmsKeyId = &v
+ return s
+}
+
// Describes a target network that is associated with a Client VPN endpoint.
// A target network is a subnet in a VPC.
type AssociatedTargetNetwork struct {
@@ -41604,6 +42031,11 @@ type AttachNetworkInterfaceInput struct {
// InstanceId is a required field
InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
+ // The index of the network card. Some instance types support multiple network
+ // cards. The primary network interface must be assigned to network card index
+ // 0. The default is network card index 0.
+ NetworkCardIndex *int64 `type:"integer"`
+
// The ID of the network interface.
//
// NetworkInterfaceId is a required field
@@ -41657,6 +42089,12 @@ func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInte
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *AttachNetworkInterfaceInput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceInput {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
s.NetworkInterfaceId = &v
@@ -41669,6 +42107,9 @@ type AttachNetworkInterfaceOutput struct {
// The ID of the network interface attachment.
AttachmentId *string `locationName:"attachmentId" type:"string"`
+
+ // The index of the network card.
+ NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
}
// String returns the string representation
@@ -41687,6 +42128,12 @@ func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkI
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *AttachNetworkInterfaceOutput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceOutput {
+ s.NetworkCardIndex = &v
+ return s
+}
+
type AttachVolumeInput struct {
_ struct{} `type:"structure"`
@@ -43945,7 +44392,7 @@ func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGrou
// For more information about Capacity Reservations, see On-Demand Capacity
// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
-// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
+// Reservations in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
// in the Amazon Elastic Compute Cloud User Guide.
type CapacityReservationOptions struct {
_ struct{} `type:"structure"`
@@ -43990,7 +44437,7 @@ func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReserva
// For more information about Capacity Reservations, see On-Demand Capacity
// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
-// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
+// Reservations in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
// in the Amazon Elastic Compute Cloud User Guide.
type CapacityReservationOptionsRequest struct {
_ struct{} `type:"structure"`
@@ -44559,6 +45006,84 @@ func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCert
return s
}
+// The options for managing connection authorization for new client connections.
+type ClientConnectOptions struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether client connect options are enabled. The default is false
+ // (not enabled).
+ Enabled *bool `type:"boolean"`
+
+ // The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
+ // authorization.
+ LambdaFunctionArn *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ClientConnectOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClientConnectOptions) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *ClientConnectOptions) SetEnabled(v bool) *ClientConnectOptions {
+ s.Enabled = &v
+ return s
+}
+
+// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
+func (s *ClientConnectOptions) SetLambdaFunctionArn(v string) *ClientConnectOptions {
+ s.LambdaFunctionArn = &v
+ return s
+}
+
+// The options for managing connection authorization for new client connections.
+type ClientConnectResponseOptions struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether client connect options are enabled.
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+
+ // The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
+ // authorization.
+ LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string"`
+
+ // The status of any updates to the client connect options.
+ Status *ClientVpnEndpointAttributeStatus `locationName:"status" type:"structure"`
+}
+
+// String returns the string representation
+func (s ClientConnectResponseOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClientConnectResponseOptions) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *ClientConnectResponseOptions) SetEnabled(v bool) *ClientConnectResponseOptions {
+ s.Enabled = &v
+ return s
+}
+
+// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
+func (s *ClientConnectResponseOptions) SetLambdaFunctionArn(v string) *ClientConnectResponseOptions {
+ s.LambdaFunctionArn = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *ClientConnectResponseOptions) SetStatus(v *ClientVpnEndpointAttributeStatus) *ClientConnectResponseOptions {
+ s.Status = v
+ return s
+}
+
// Describes the client-specific data.
type ClientData struct {
_ struct{} `type:"structure"`
@@ -44611,7 +45136,7 @@ func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
}
// Describes the authentication methods used by a Client VPN endpoint. For more
-// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
+// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html)
// in the AWS Client VPN Administrator Guide.
type ClientVpnAuthentication struct {
_ struct{} `type:"structure"`
@@ -44787,6 +45312,10 @@ type ClientVpnConnection struct {
// The number of packets sent by the client.
IngressPackets *string `locationName:"ingressPackets" type:"string"`
+ // The statuses returned by the client connect handler for posture compliance,
+ // if applicable.
+ PostureComplianceStatuses []*string `locationName:"postureComplianceStatusSet" locationNameList:"item" type:"list"`
+
// The current state of the client connection.
Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
@@ -44868,6 +45397,12 @@ func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
return s
}
+// SetPostureComplianceStatuses sets the PostureComplianceStatuses field's value.
+func (s *ClientVpnConnection) SetPostureComplianceStatuses(v []*string) *ClientVpnConnection {
+ s.PostureComplianceStatuses = v
+ return s
+}
+
// SetStatus sets the Status field's value.
func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
s.Status = v
@@ -44936,6 +45471,9 @@ type ClientVpnEndpoint struct {
// are assigned.
ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
+ // The options for managing connection authorization for new client connections.
+ ClientConnectOptions *ClientConnectResponseOptions `locationName:"clientConnectOptions" type:"structure"`
+
// The ID of the Client VPN endpoint.
ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
@@ -44961,6 +45499,9 @@ type ClientVpnEndpoint struct {
// The IDs of the security groups for the target network.
SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
+ // The URL of the self-service portal.
+ SelfServicePortalUrl *string `locationName:"selfServicePortalUrl" type:"string"`
+
// The ARN of the server certificate.
ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
@@ -45018,6 +45559,12 @@ func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
return s
}
+// SetClientConnectOptions sets the ClientConnectOptions field's value.
+func (s *ClientVpnEndpoint) SetClientConnectOptions(v *ClientConnectResponseOptions) *ClientVpnEndpoint {
+ s.ClientConnectOptions = v
+ return s
+}
+
// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
s.ClientVpnEndpointId = &v
@@ -45066,6 +45613,12 @@ func (s *ClientVpnEndpoint) SetSecurityGroupIds(v []*string) *ClientVpnEndpoint
return s
}
+// SetSelfServicePortalUrl sets the SelfServicePortalUrl field's value.
+func (s *ClientVpnEndpoint) SetSelfServicePortalUrl(v string) *ClientVpnEndpoint {
+ s.SelfServicePortalUrl = &v
+ return s
+}
+
// SetServerCertificateArn sets the ServerCertificateArn field's value.
func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
s.ServerCertificateArn = &v
@@ -45114,6 +45667,39 @@ func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
return s
}
+// Describes the status of the Client VPN endpoint attribute.
+type ClientVpnEndpointAttributeStatus struct {
+ _ struct{} `type:"structure"`
+
+ // The status code.
+ Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointAttributeStatusCode"`
+
+ // The status message.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s ClientVpnEndpointAttributeStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClientVpnEndpointAttributeStatus) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *ClientVpnEndpointAttributeStatus) SetCode(v string) *ClientVpnEndpointAttributeStatus {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *ClientVpnEndpointAttributeStatus) SetMessage(v string) *ClientVpnEndpointAttributeStatus {
+ s.Message = &v
+ return s
+}
+
// Describes the state of a Client VPN endpoint.
type ClientVpnEndpointStatus struct {
_ struct{} `type:"structure"`
@@ -45875,29 +46461,25 @@ type CopyImageInput struct {
// in the Amazon Elastic Compute Cloud User Guide.
Encrypted *bool `locationName:"encrypted" type:"boolean"`
- // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
- // master key (CMK) to use when creating the encrypted volume. This parameter
- // is only required if you want to use a non-default CMK; if this parameter
- // is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
- // the Encrypted flag must also be set.
+ // The identifier of the symmetric AWS Key Management Service (AWS KMS) customer
+ // master key (CMK) to use when creating encrypted volumes. If this parameter
+ // is not specified, your AWS managed CMK for EBS is used. If you specify a
+ // CMK, you must also set the encrypted state to true.
//
- // 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:
+ // You can specify a CMK using any of the following:
//
- // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
+ // * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
//
- // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
+ // * Key alias. For example, alias/ExampleAlias.
//
- // * Alias name: alias/ExampleAlias
+ // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
//
- // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
+ // * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
//
- // AWS parses KmsKeyId asynchronously, meaning that the action you call may
- // appear to complete even though you provided an invalid identifier. This action
- // will eventually report failure.
+ // AWS authenticates the CMK asynchronously. Therefore, if you specify an identifier
+ // that is not valid, the action can appear to complete, but eventually fails.
//
- // The specified CMK must exist in the Region that the snapshot is being copied
- // to.
+ // The specified CMK must exist in the destination Region.
//
// Amazon EBS does not support asymmetric CMKs.
KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
@@ -46056,11 +46638,11 @@ type CopySnapshotInput struct {
//
// You can specify the CMK using any of the following:
//
- // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
+ // * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Key alias. For example, alias/ExampleAlias.
//
- // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
//
@@ -46625,6 +47207,9 @@ type CreateClientVpnEndpointInput struct {
// ClientCidrBlock is a required field
ClientCidrBlock *string `type:"string" required:"true"`
+ // The options for managing connection authorization for new client connections.
+ ClientConnectOptions *ClientConnectOptions `type:"structure"`
+
// Unique, case-sensitive identifier that you provide to ensure the idempotency
// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
ClientToken *string `type:"string" idempotencyToken:"true"`
@@ -46663,6 +47248,11 @@ type CreateClientVpnEndpointInput struct {
// must also specify the ID of the VPC that contains the security groups.
SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+ // Specify whether to enable the self-service portal for the Client VPN endpoint.
+ //
+ // Default Value: enabled
+ SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
+
// The ARN of the server certificate. For more information, see the AWS Certificate
// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
//
@@ -46743,6 +47333,12 @@ func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClien
return s
}
+// SetClientConnectOptions sets the ClientConnectOptions field's value.
+func (s *CreateClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *CreateClientVpnEndpointInput {
+ s.ClientConnectOptions = v
+ return s
+}
+
// SetClientToken sets the ClientToken field's value.
func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
s.ClientToken = &v
@@ -46779,6 +47375,12 @@ func (s *CreateClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *CreateC
return s
}
+// SetSelfServicePortal sets the SelfServicePortal field's value.
+func (s *CreateClientVpnEndpointInput) SetSelfServicePortal(v string) *CreateClientVpnEndpointInput {
+ s.SelfServicePortal = &v
+ return s
+}
+
// SetServerCertificateArn sets the ServerCertificateArn field's value.
func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
s.ServerCertificateArn = &v
@@ -47515,7 +48117,7 @@ type CreateFleetInput struct {
// The key-value pair for tagging the EC2 Fleet request on creation. The value
// for ResourceType must be fleet, otherwise the fleet request fails. To tag
// instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
- // For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
+ // For information about tagging after launch, see Tagging your resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
// The number of units to request.
@@ -47527,13 +48129,22 @@ type CreateFleetInput struct {
// expires.
TerminateInstancesWithExpiration *bool `type:"boolean"`
- // The type of the request. By default, the EC2 Fleet places an asynchronous
- // request for your desired capacity, and maintains it by replenishing interrupted
- // Spot Instances (maintain). A value of instant places a synchronous one-time
- // request, and returns errors for any instances that could not be launched.
- // A value of request places an asynchronous one-time request without maintaining
- // capacity or submitting requests in alternative capacity pools if capacity
- // is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type)
+ // The type of request. The default value is maintain.
+ //
+ // * maintain - The EC2 Fleet plaees an asynchronous request for your desired
+ // capacity, and continues to maintain your desired Spot capacity by replenishing
+ // interrupted Spot Instances.
+ //
+ // * request - The EC2 Fleet places an asynchronous one-time request for
+ // your desired capacity, but does submit Spot requests in alternative capacity
+ // pools if Spot capacity is unavailable, and does not maintain Spot capacity
+ // if Spot Instances are interrupted.
+ //
+ // * instant - The EC2 Fleet places a synchronous one-time request for your
+ // desired capacity, and returns errors for any instances that could not
+ // be launched.
+ //
+ // For more information, see EC2 Fleet request types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type)
// in the Amazon Elastic Compute Cloud User Guide.
Type *string `type:"string" enum:"FleetType"`
@@ -48275,7 +48886,9 @@ type CreateInstanceExportTaskInput struct {
Description *string `locationName:"description" type:"string"`
// The format and location for an instance export task.
- ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
+ //
+ // ExportToS3Task is a required field
+ ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure" required:"true"`
// The ID of the instance.
//
@@ -48286,7 +48899,9 @@ type CreateInstanceExportTaskInput struct {
TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
// The target virtualization environment.
- TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
+ //
+ // TargetEnvironment is a required field
+ TargetEnvironment *string `locationName:"targetEnvironment" type:"string" required:"true" enum:"ExportEnvironment"`
}
// String returns the string representation
@@ -48302,9 +48917,15 @@ func (s CreateInstanceExportTaskInput) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateInstanceExportTaskInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
+ if s.ExportToS3Task == nil {
+ invalidParams.Add(request.NewErrParamRequired("ExportToS3Task"))
+ }
if s.InstanceId == nil {
invalidParams.Add(request.NewErrParamRequired("InstanceId"))
}
+ if s.TargetEnvironment == nil {
+ invalidParams.Add(request.NewErrParamRequired("TargetEnvironment"))
+ }
if invalidParams.Len() > 0 {
return invalidParams
@@ -50079,6 +50700,9 @@ type CreateRouteInput struct {
// The ID of a transit gateway.
TransitGatewayId *string `type:"string"`
+ // The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
+ VpcEndpointId *string `type:"string"`
+
// The ID of a VPC peering connection.
VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
}
@@ -50184,6 +50808,12 @@ func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
return s
}
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *CreateRouteInput) SetVpcEndpointId(v string) *CreateRouteInput {
+ s.VpcEndpointId = &v
+ return s
+}
+
// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
s.VpcPeeringConnectionId = &v
@@ -50593,7 +51223,10 @@ func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshots
type CreateSpotDatafeedSubscriptionInput struct {
_ struct{} `type:"structure"`
- // The Amazon S3 bucket in which to store the Spot Instance data feed.
+ // The name of the Amazon S3 bucket in which to store the Spot Instance data
+ // feed. For more information about bucket names, see Rules for bucket naming
+ // (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules)
+ // in the Amazon S3 Developer Guide.
//
// Bucket is a required field
Bucket *string `locationName:"bucket" type:"string" required:"true"`
@@ -50604,7 +51237,7 @@ type CreateSpotDatafeedSubscriptionInput struct {
// it is UnauthorizedOperation.
DryRun *bool `locationName:"dryRun" type:"boolean"`
- // A prefix for the data feed file names.
+ // The prefix for the data feed file names.
Prefix *string `locationName:"prefix" type:"string"`
}
@@ -52186,10 +52819,15 @@ func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment
type CreateTransitGatewayVpcAttachmentRequestOptions struct {
_ struct{} `type:"structure"`
+ // Enable or disable support for appliance mode. If enabled, a traffic flow
+ // between a source and destination uses the same Availability Zone for the
+ // VPC attachment for the lifetime of that flow. The default is disable.
+ ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
+
// Enable or disable DNS support. The default is enable.
DnsSupport *string `type:"string" enum:"DnsSupportValue"`
- // Enable or disable IPv6 support. The default is enable.
+ // Enable or disable IPv6 support.
Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
}
@@ -52203,6 +52841,12 @@ func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
return s.String()
}
+// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
+func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
+ s.ApplianceModeSupport = &v
+ return s
+}
+
// SetDnsSupport sets the DnsSupport field's value.
func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
s.DnsSupport = &v
@@ -52257,11 +52901,11 @@ type CreateVolumeInput struct {
//
// You can specify the CMK using any of the following:
//
- // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
+ // * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Key alias. For example, alias/ExampleAlias.
//
- // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
//
@@ -52602,9 +53246,10 @@ type CreateVpcEndpointInput struct {
// it is UnauthorizedOperation.
DryRun *bool `type:"boolean"`
- // A policy to attach to the endpoint that controls access to the service. The
- // policy must be in valid JSON format. If this parameter is not specified,
- // we attach a default policy that allows full access to the service.
+ // (Interface and gateway endpoints) A policy to attach to the endpoint that
+ // controls access to the service. The policy must be in valid JSON format.
+ // If this parameter is not specified, we attach a default policy that allows
+ // full access to the service.
PolicyDocument *string `type:"string"`
// (Interface endpoint) Indicates whether to associate a private hosted zone
@@ -52635,8 +53280,9 @@ type CreateVpcEndpointInput struct {
// ServiceName is a required field
ServiceName *string `type:"string" required:"true"`
- // (Interface endpoint) The ID of one or more subnets in which to create an
- // endpoint network interface.
+ // (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets
+ // in which to create an endpoint network interface. For a Gateway Load Balancer
+ // endpoint, you can specify one subnet only.
SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
// The tags to associate with the endpoint.
@@ -52796,13 +53442,15 @@ type CreateVpcEndpointServiceConfigurationInput struct {
// it is UnauthorizedOperation.
DryRun *bool `type:"boolean"`
+ // The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.
+ GatewayLoadBalancerArns []*string `locationName:"GatewayLoadBalancerArn" locationNameList:"item" type:"list"`
+
// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
// your service.
- //
- // NetworkLoadBalancerArns is a required field
- NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
+ NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list"`
- // The private DNS name to assign to the VPC endpoint service.
+ // (Interface endpoint configuration) The private DNS name to assign to the
+ // VPC endpoint service.
PrivateDnsName *string `type:"string"`
// The tags to associate with the service.
@@ -52819,19 +53467,6 @@ func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
- if s.NetworkLoadBalancerArns == nil {
- invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
-}
-
// SetAcceptanceRequired sets the AcceptanceRequired field's value.
func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
s.AcceptanceRequired = &v
@@ -52850,6 +53485,12 @@ func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVp
return s
}
+// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
+func (s *CreateVpcEndpointServiceConfigurationInput) SetGatewayLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
+ s.GatewayLoadBalancerArns = v
+ return s
+}
+
// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
s.NetworkLoadBalancerArns = v
@@ -61018,7 +61659,7 @@ type DescribeFlowLogsInput struct {
//
// * log-destination-type - The type of destination to which the flow log
// publishes data. Possible destination types include cloud-watch-logs and
- // S3.
+ // s3.
//
// * flow-log-id - The ID of the flow log.
//
@@ -62537,6 +63178,10 @@ type DescribeInstanceAttributeOutput struct {
// Indicates whether enhanced networking with ENA is enabled.
EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
+ // To enable the instance for AWS Nitro Enclaves, set this parameter to true;
+ // otherwise, set it to false.
+ EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
+
// The security groups associated with the instance.
Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
@@ -62609,6 +63254,12 @@ func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue
return s
}
+// SetEnclaveOptions sets the EnclaveOptions field's value.
+func (s *DescribeInstanceAttributeOutput) SetEnclaveOptions(v *EnclaveOptions) *DescribeInstanceAttributeOutput {
+ s.EnclaveOptions = v
+ return s
+}
+
// SetGroups sets the Groups field's value.
func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
s.Groups = v
@@ -63010,7 +63661,7 @@ type DescribeInstanceTypeOfferingsInput struct {
// type is region (default), the location is the Region code (for example,
// us-east-2.)
//
- // * instance-type - The instance type.
+ // * instance-type - The instance type. For example, c5.2xlarge.
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
// The location type.
@@ -63122,52 +63773,52 @@ type DescribeInstanceTypesInput struct {
// One or more filters. Filter names and values are case-sensitive.
//
- // * auto-recovery-supported - Indicates whether auto recovery is supported.
- // (true | false)
+ // * auto-recovery-supported - Indicates whether auto recovery is supported
+ // (true | false).
//
- // * bare-metal - Indicates whether it is a bare metal instance type. (true
- // | false)
+ // * bare-metal - Indicates whether it is a bare metal instance type (true
+ // | false).
//
// * burstable-performance-supported - Indicates whether it is a burstable
- // performance instance type. (true | false)
+ // performance instance type (true | false).
//
// * current-generation - Indicates whether this instance type is the latest
- // generation instance type of an instance family. (true | false)
+ // generation instance type of an instance family (true | false).
//
// * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline
// bandwidth performance for an EBS-optimized instance type, in Mbps.
//
- // * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline
- // throughput performance for an EBS-optimized instance type, in MBps.
- //
// * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output
// storage operations per second for an EBS-optimized instance type.
//
+ // * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline
+ // throughput performance for an EBS-optimized instance type, in MB/s.
+ //
// * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum
// bandwidth performance for an EBS-optimized instance type, in Mbps.
//
- // * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum
- // throughput performance for an EBS-optimized instance type, in MBps.
- //
// * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output
// storage operations per second for an EBS-optimized instance type.
//
+ // * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum
+ // throughput performance for an EBS-optimized instance type, in MB/s.
+ //
// * ebs-info.ebs-optimized-support - Indicates whether the instance type
- // is EBS-optimized. (supported | unsupported | default)
+ // is EBS-optimized (supported | unsupported | default).
//
- // * ebs-info.encryption-support - Indicates whether EBS encryption is supported.
- // (supported | unsupported)
+ // * ebs-info.encryption-support - Indicates whether EBS encryption is supported
+ // (supported | unsupported).
//
// * ebs-info.nvme-support - Indicates whether non-volatile memory express
- // (NVMe) is supported or required. (required | supported | unsupported)
+ // (NVMe) is supported for EBS volumes (required | supported | unsupported).
//
// * free-tier-eligible - Indicates whether the instance type is eligible
- // to use in the free tier. (true | false)
+ // to use in the free tier (true | false).
//
- // * hibernation-supported - Indicates whether On-Demand hibernation is supported.
- // (true | false)
+ // * hibernation-supported - Indicates whether On-Demand hibernation is supported
+ // (true | false).
//
- // * hypervisor - The hypervisor used. (nitro | xen)
+ // * hypervisor - The hypervisor (nitro | xen).
//
// * instance-storage-info.disk.count - The number of local disks.
//
@@ -63175,21 +63826,27 @@ type DescribeInstanceTypesInput struct {
// storage disk, in GB.
//
// * instance-storage-info.disk.type - The storage technology for the local
- // instance storage disks. (hdd | ssd)
+ // instance storage disks (hdd | ssd).
+ //
+ // * instance-storage-info.nvme-support - Indicates whether non-volatile
+ // memory express (NVMe) is supported for instance store (required | supported)
+ // | unsupported).
//
// * instance-storage-info.total-size-in-gb - The total amount of storage
// available from all local instance storage, in GB.
//
// * instance-storage-supported - Indicates whether the instance type has
- // local instance storage. (true | false)
+ // local instance storage (true | false).
//
- // * memory-info.size-in-mib - The memory size.
+ // * instance-type - The instance type (for example c5.2xlarge or c5*).
//
- // * network-info.ena-support - Indicates whether Elastic Network Adapter
- // (ENA) is supported or required. (required | supported | unsupported)
+ // * memory-info.size-in-mib - The memory size.
//
// * network-info.efa-supported - Indicates whether the instance type supports
- // Elastic Fabric Adapter (EFA). (true | false)
+ // Elastic Fabric Adapter (EFA) (true | false).
+ //
+ // * network-info.ena-support - Indicates whether Elastic Network Adapter
+ // (ENA) is supported or required (required | supported | unsupported).
//
// * network-info.ipv4-addresses-per-interface - The maximum number of private
// IPv4 addresses per network interface.
@@ -63198,16 +63855,26 @@ type DescribeInstanceTypesInput struct {
// IPv6 addresses per network interface.
//
// * network-info.ipv6-supported - Indicates whether the instance type supports
- // IPv6. (true | false)
+ // IPv6 (true | false).
//
// * network-info.maximum-network-interfaces - The maximum number of network
// interfaces per instance.
//
- // * network-info.network-performance - Describes the network performance.
+ // * network-info.network-performance - The network performance (for example,
+ // "25 Gigabit").
+ //
+ // * processor-info.supported-architecture - The CPU architecture (arm64
+ // | i386 | x86_64).
//
// * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
// GHz.
//
+ // * supported-root-device-type - The root device type (ebs | instance-store).
+ //
+ // * supported-usage-class - The usage class (on-demand | spot).
+ //
+ // * supported-virtualization-type - The virtualization type (hvm | paravirtual).
+ //
// * vcpu-info.default-cores - The default number of cores for the instance
// type.
//
@@ -63216,6 +63883,12 @@ type DescribeInstanceTypesInput struct {
//
// * vcpu-info.default-vcpus - The default number of vCPUs for the instance
// type.
+ //
+ // * vcpu-info.valid-cores - The number of cores that can be configured for
+ // the instance type.
+ //
+ // * vcpu-info.valid-threads-per-core - The number of threads per core that
+ // can be configured for the instance type. For example, "1" or "1,2".
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
// The instance types. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
@@ -68702,8 +69375,9 @@ type DescribeSpotPriceHistoryInput struct {
// * instance-type - The type of instance (for example, m3.medium).
//
// * product-description - The product description for the Spot price (Linux/UNIX
- // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
- // VPC) | Windows (Amazon VPC)).
+ // | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon
+ // VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC)
+ // | Windows (Amazon VPC)).
//
// * spot-price - The Spot price. The value must match exactly (or use wildcards;
// greater than or less than comparison is not supported).
@@ -69835,6 +70509,16 @@ type DescribeTransitGatewayPeeringAttachmentsInput struct {
// | deleted | deleting | failed | failing | initiatingRequest | modifying
// | pendingAcceptance | pending | rollingBack | rejected | rejecting).
//
+ // * tag: - The key/value combination of a tag assigned to the resource.
+ // Use the tag key in the filter name and the tag value as the filter value.
+ // For example, to find all resources that have a tag with the key Owner
+ // and the value TeamA, specify tag:Owner for the filter name and TeamA for
+ // the filter value.
+ //
+ // * tag-key - The key of a tag assigned to the resource. Use this filter
+ // to find all resources that have a tag with a specific key, regardless
+ // of the tag value.
+ //
// * transit-gateway-id - The ID of the transit gateway.
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
@@ -71706,6 +72390,9 @@ type DescribeVpcEndpointsInput struct {
// * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
// pending | available | deleting | deleted | rejected | failed).
//
+ // * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway |
+ // GatewayLoadBalancer).
+ //
// * tag: - The key/value combination of a tag assigned to the resource.
// Use the tag key in the filter name and the tag value as the filter value.
// For example, to find all resources that have a tag with the key Owner
@@ -73675,6 +74362,89 @@ func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatu
return s
}
+type DisassociateEnclaveCertificateIamRoleInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the ACM certificate from which to disassociate the IAM role.
+ CertificateArn *string `min:"1" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ARN of the IAM role to disassociate.
+ RoleArn *string `min:"1" type:"string"`
+}
+
+// String returns the string representation
+func (s DisassociateEnclaveCertificateIamRoleInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateEnclaveCertificateIamRoleInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DisassociateEnclaveCertificateIamRoleInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DisassociateEnclaveCertificateIamRoleInput"}
+ if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
+ }
+ if s.RoleArn != nil && len(*s.RoleArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateArn sets the CertificateArn field's value.
+func (s *DisassociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
+ s.CertificateArn = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DisassociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *DisassociateEnclaveCertificateIamRoleInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetRoleArn sets the RoleArn field's value.
+func (s *DisassociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
+ s.RoleArn = &v
+ return s
+}
+
+type DisassociateEnclaveCertificateIamRoleOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DisassociateEnclaveCertificateIamRoleOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateEnclaveCertificateIamRoleOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DisassociateEnclaveCertificateIamRoleOutput) SetReturn(v bool) *DisassociateEnclaveCertificateIamRoleOutput {
+ s.Return = &v
+ return s
+}
+
type DisassociateIamInstanceProfileInput struct {
_ struct{} `type:"structure"`
@@ -74586,7 +75356,7 @@ type EbsInfo struct {
// Describes the optimized EBS performance for the instance type.
EbsOptimizedInfo *EbsOptimizedInfo `locationName:"ebsOptimizedInfo" type:"structure"`
- // Indicates that the instance type is Amazon EBS-optimized. For more information,
+ // Indicates whether the instance type is Amazon EBS-optimized. For more information,
// see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
// in Amazon EC2 User Guide for Linux Instances.
EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
@@ -74730,7 +75500,7 @@ type EbsOptimizedInfo struct {
BaselineIops *int64 `locationName:"baselineIops" type:"integer"`
// The baseline throughput performance for an EBS-optimized instance type, in
- // MBps.
+ // MB/s.
BaselineThroughputInMBps *float64 `locationName:"baselineThroughputInMBps" type:"double"`
// The maximum bandwidth performance for an EBS-optimized instance type, in
@@ -74742,7 +75512,7 @@ type EbsOptimizedInfo struct {
MaximumIops *int64 `locationName:"maximumIops" type:"integer"`
// The maximum throughput performance for an EBS-optimized instance type, in
- // MBps.
+ // MB/s.
MaximumThroughputInMBps *float64 `locationName:"maximumThroughputInMBps" type:"double"`
}
@@ -75882,6 +76652,57 @@ func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutp
return s
}
+// Indicates whether the instance is enabled for AWS Nitro Enclaves.
+type EnclaveOptions struct {
+ _ struct{} `type:"structure"`
+
+ // If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves;
+ // otherwise, it is not enabled for AWS Nitro Enclaves.
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+}
+
+// String returns the string representation
+func (s EnclaveOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnclaveOptions) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *EnclaveOptions) SetEnabled(v bool) *EnclaveOptions {
+ s.Enabled = &v
+ return s
+}
+
+// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
+// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
+// in the AWS Nitro Enclaves User Guide.
+type EnclaveOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // To enable the instance for AWS Nitro Enclaves, set this parameter to true.
+ Enabled *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s EnclaveOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnclaveOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *EnclaveOptionsRequest) SetEnabled(v bool) *EnclaveOptionsRequest {
+ s.Enabled = &v
+ return s
+}
+
// Describes an EC2 Fleet or Spot Fleet event.
type EventInformation struct {
_ struct{} `type:"structure"`
@@ -76877,12 +77698,16 @@ func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQ
return s
}
-// Describes the IAM SAML identity provider used for federated authentication.
+// Describes the IAM SAML identity providers used for federated authentication.
type FederatedAuthentication struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
SamlProviderArn *string `locationName:"samlProviderArn" type:"string"`
+
+ // The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
+ // self-service portal.
+ SelfServiceSamlProviderArn *string `locationName:"selfServiceSamlProviderArn" type:"string"`
}
// String returns the string representation
@@ -76901,12 +77726,22 @@ func (s *FederatedAuthentication) SetSamlProviderArn(v string) *FederatedAuthent
return s
}
+// SetSelfServiceSamlProviderArn sets the SelfServiceSamlProviderArn field's value.
+func (s *FederatedAuthentication) SetSelfServiceSamlProviderArn(v string) *FederatedAuthentication {
+ s.SelfServiceSamlProviderArn = &v
+ return s
+}
+
// The IAM SAML identity provider used for federated authentication.
type FederatedAuthenticationRequest struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
SAMLProviderArn *string `type:"string"`
+
+ // The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
+ // self-service portal.
+ SelfServiceSAMLProviderArn *string `type:"string"`
}
// String returns the string representation
@@ -76925,6 +77760,12 @@ func (s *FederatedAuthenticationRequest) SetSAMLProviderArn(v string) *Federated
return s
}
+// SetSelfServiceSAMLProviderArn sets the SelfServiceSAMLProviderArn field's value.
+func (s *FederatedAuthenticationRequest) SetSelfServiceSAMLProviderArn(v string) *FederatedAuthenticationRequest {
+ s.SelfServiceSAMLProviderArn = &v
+ return s
+}
+
// A filter name and value pair that is used to return a more specific list
// of results from a describe operation. Filters can be used to match a set
// of resources by specific criteria, such as tags, attributes, or IDs. The
@@ -77592,6 +78433,126 @@ func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLau
return s
}
+// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
+// is at an elevated risk of being interrupted.
+type FleetSpotCapacityRebalance struct {
+ _ struct{} `type:"structure"`
+
+ // To allow EC2 Fleet to launch a replacement Spot Instance when an instance
+ // rebalance notification is emitted for an existing Spot Instance in the fleet,
+ // specify launch. Only available for fleets of type maintain.
+ //
+ // When a replacement instance is launched, the instance marked for rebalance
+ // is not automatically terminated. You can terminate it, or you can wait until
+ // Amazon EC2 interrupts it. You are charged for both instances while they are
+ // running.
+ ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"FleetReplacementStrategy"`
+}
+
+// String returns the string representation
+func (s FleetSpotCapacityRebalance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetSpotCapacityRebalance) GoString() string {
+ return s.String()
+}
+
+// SetReplacementStrategy sets the ReplacementStrategy field's value.
+func (s *FleetSpotCapacityRebalance) SetReplacementStrategy(v string) *FleetSpotCapacityRebalance {
+ s.ReplacementStrategy = &v
+ return s
+}
+
+// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
+// that your Spot Instance is at an elevated risk of being interrupted. For
+// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance)
+// in the Amazon Elastic Compute Cloud User Guide.
+type FleetSpotCapacityRebalanceRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The replacement strategy to use. Only available for fleets of type maintain.
+ //
+ // To allow EC2 Fleet to launch a replacement Spot Instance when an instance
+ // rebalance notification is emitted for an existing Spot Instance in the fleet,
+ // specify launch. You must specify a value, otherwise you get an error.
+ //
+ // When a replacement instance is launched, the instance marked for rebalance
+ // is not automatically terminated. You can terminate it, or you can wait until
+ // Amazon EC2 interrupts it. You are charged for all instances while they are
+ // running.
+ ReplacementStrategy *string `type:"string" enum:"FleetReplacementStrategy"`
+}
+
+// String returns the string representation
+func (s FleetSpotCapacityRebalanceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetSpotCapacityRebalanceRequest) GoString() string {
+ return s.String()
+}
+
+// SetReplacementStrategy sets the ReplacementStrategy field's value.
+func (s *FleetSpotCapacityRebalanceRequest) SetReplacementStrategy(v string) *FleetSpotCapacityRebalanceRequest {
+ s.ReplacementStrategy = &v
+ return s
+}
+
+// The strategies for managing your Spot Instances that are at an elevated risk
+// of being interrupted.
+type FleetSpotMaintenanceStrategies struct {
+ _ struct{} `type:"structure"`
+
+ // The strategy to use when Amazon EC2 emits a signal that your Spot Instance
+ // is at an elevated risk of being interrupted.
+ CapacityRebalance *FleetSpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
+}
+
+// String returns the string representation
+func (s FleetSpotMaintenanceStrategies) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetSpotMaintenanceStrategies) GoString() string {
+ return s.String()
+}
+
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *FleetSpotMaintenanceStrategies) SetCapacityRebalance(v *FleetSpotCapacityRebalance) *FleetSpotMaintenanceStrategies {
+ s.CapacityRebalance = v
+ return s
+}
+
+// The strategies for managing your Spot Instances that are at an elevated risk
+// of being interrupted.
+type FleetSpotMaintenanceStrategiesRequest struct {
+ _ struct{} `type:"structure"`
+
+ // The strategy to use when Amazon EC2 emits a signal that your Spot Instance
+ // is at an elevated risk of being interrupted.
+ CapacityRebalance *FleetSpotCapacityRebalanceRequest `type:"structure"`
+}
+
+// String returns the string representation
+func (s FleetSpotMaintenanceStrategiesRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FleetSpotMaintenanceStrategiesRequest) GoString() string {
+ return s.String()
+}
+
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *FleetSpotMaintenanceStrategiesRequest) SetCapacityRebalance(v *FleetSpotCapacityRebalanceRequest) *FleetSpotMaintenanceStrategiesRequest {
+ s.CapacityRebalance = v
+ return s
+}
+
// Describes a flow log.
type FlowLog struct {
_ struct{} `type:"structure"`
@@ -77806,7 +78767,7 @@ func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
type FpgaDeviceMemoryInfo struct {
_ struct{} `type:"structure"`
- // The size (in MiB) for the memory available to the FPGA accelerator.
+ // The size of the memory available to the FPGA accelerator, in MiB.
SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
}
@@ -78111,6 +79072,78 @@ func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
return s
}
+type GetAssociatedEnclaveCertificateIamRolesInput struct {
+ _ struct{} `type:"structure"`
+
+ // The ARN of the ACM certificate for which to view the associated IAM roles,
+ // encryption keys, and Amazon S3 object information.
+ CertificateArn *string `min:"1" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s GetAssociatedEnclaveCertificateIamRolesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetAssociatedEnclaveCertificateIamRolesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetAssociatedEnclaveCertificateIamRolesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetAssociatedEnclaveCertificateIamRolesInput"}
+ if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetCertificateArn sets the CertificateArn field's value.
+func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetCertificateArn(v string) *GetAssociatedEnclaveCertificateIamRolesInput {
+ s.CertificateArn = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetDryRun(v bool) *GetAssociatedEnclaveCertificateIamRolesInput {
+ s.DryRun = &v
+ return s
+}
+
+type GetAssociatedEnclaveCertificateIamRolesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the associated IAM roles.
+ AssociatedRoles []*AssociatedRole `locationName:"associatedRoleSet" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s GetAssociatedEnclaveCertificateIamRolesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetAssociatedEnclaveCertificateIamRolesOutput) GoString() string {
+ return s.String()
+}
+
+// SetAssociatedRoles sets the AssociatedRoles field's value.
+func (s *GetAssociatedEnclaveCertificateIamRolesOutput) SetAssociatedRoles(v []*AssociatedRole) *GetAssociatedEnclaveCertificateIamRolesOutput {
+ s.AssociatedRoles = v
+ return s
+}
+
type GetAssociatedIpv6PoolCidrsInput struct {
_ struct{} `type:"structure"`
@@ -80314,7 +81347,7 @@ func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
type GpuDeviceMemoryInfo struct {
_ struct{} `type:"structure"`
- // The size (in MiB) for the memory available to the GPU accelerator.
+ // The size of the memory available to the GPU accelerator, in MiB.
SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
}
@@ -80341,7 +81374,8 @@ type GpuInfo struct {
// Describes the GPU accelerators for the instance type.
Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
- // The total size of the memory for the GPU accelerators for the instance type.
+ // The total size of the memory for the GPU accelerators for the instance type,
+ // in MiB.
TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
}
@@ -83277,6 +84311,9 @@ type Instance struct {
// Specifies whether enhanced networking with ENA is enabled.
EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
+ // Indicates whether the instance is enabled for AWS Nitro Enclaves.
+ EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
+
// Indicates whether the instance is enabled for hibernation.
HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
@@ -83484,6 +84521,12 @@ func (s *Instance) SetEnaSupport(v bool) *Instance {
return s
}
+// SetEnclaveOptions sets the EnclaveOptions field's value.
+func (s *Instance) SetEnclaveOptions(v *EnclaveOptions) *Instance {
+ s.EnclaveOptions = v
+ return s
+}
+
// SetHibernationOptions sets the HibernationOptions field's value.
func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
s.HibernationOptions = v
@@ -84483,6 +85526,9 @@ type InstanceNetworkInterfaceAttachment struct {
// The index of the device on the instance for the network interface attachment.
DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+ // The index of the network card.
+ NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
+
// The attachment state.
Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
}
@@ -84521,6 +85567,12 @@ func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNe
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *InstanceNetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceAttachment {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetStatus sets the Status field's value.
func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
s.Status = &v
@@ -84565,8 +85617,10 @@ type InstanceNetworkInterfaceSpecification struct {
// creating a network interface when launching an instance.
Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
- // The type of network interface. To create an Elastic Fabric Adapter (EFA),
- // specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
+ // The type of network interface.
+ //
+ // To create an Elastic Fabric Adapter (EFA), specify efa. For more information,
+ // see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// If you are not creating an EFA, specify interface or omit this parameter.
@@ -84587,6 +85641,11 @@ type InstanceNetworkInterfaceSpecification struct {
// number of instances to launch.
Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
+ // The index of the network card. Some instance types support multiple network
+ // cards. The primary network interface must be assigned to network card index
+ // 0. The default is network card index 0.
+ NetworkCardIndex *int64 `type:"integer"`
+
// The ID of the network interface.
//
// If you are creating a Spot Fleet, omit this parameter because you can’t
@@ -84682,6 +85741,12 @@ func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIp
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *InstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceSpecification {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
s.NetworkInterfaceId = &v
@@ -85132,9 +86197,13 @@ func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
type InstanceStorageInfo struct {
_ struct{} `type:"structure"`
- // Array describing the disks that are available for the instance type.
+ // Describes the disks that are available for the instance type.
Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
+ // Indicates whether non-volatile memory express (NVMe) is supported for instance
+ // store.
+ NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EphemeralNvmeSupport"`
+
// The total size of the disks, in GB.
TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
}
@@ -85155,6 +86224,12 @@ func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
return s
}
+// SetNvmeSupport sets the NvmeSupport field's value.
+func (s *InstanceStorageInfo) SetNvmeSupport(v string) *InstanceStorageInfo {
+ s.NvmeSupport = &v
+ return s
+}
+
// SetTotalSizeInGB sets the TotalSizeInGB field's value.
func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
s.TotalSizeInGB = &v
@@ -85203,13 +86278,13 @@ type InstanceTypeInfo struct {
// Indicates whether auto recovery is supported.
AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
- // Indicates whether the instance is bare metal.
+ // Indicates whether the instance is a bare metal instance type.
BareMetal *bool `locationName:"bareMetal" type:"boolean"`
// Indicates whether the instance type is a burstable performance instance type.
BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
- // Indicates whether the instance type is a current generation.
+ // Indicates whether the instance type is current generation.
CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
// Indicates whether Dedicated Hosts are supported on the instance type.
@@ -85230,13 +86305,13 @@ type InstanceTypeInfo struct {
// Indicates whether On-Demand hibernation is supported.
HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
- // Indicates the hypervisor used for the instance type.
+ // The hypervisor 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.
+ // Describes the instance storage for the instance type.
InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
// Indicates whether instance storage is supported.
@@ -85258,7 +86333,7 @@ type InstanceTypeInfo struct {
// Describes the processor.
ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
- // Indicates the supported root device types.
+ // The supported root device types.
SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
// Indicates whether the instance type is offered for spot or On-Demand.
@@ -86855,6 +87930,57 @@ func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *L
return s
}
+// Indicates whether the instance is enabled for AWS Nitro Enclaves.
+type LaunchTemplateEnclaveOptions struct {
+ _ struct{} `type:"structure"`
+
+ // If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves;
+ // otherwise, it is not enabled for AWS Nitro Enclaves.
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateEnclaveOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateEnclaveOptions) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *LaunchTemplateEnclaveOptions) SetEnabled(v bool) *LaunchTemplateEnclaveOptions {
+ s.Enabled = &v
+ return s
+}
+
+// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
+// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
+// in the AWS Nitro Enclaves User Guide.
+type LaunchTemplateEnclaveOptionsRequest struct {
+ _ struct{} `type:"structure"`
+
+ // To enable the instance for AWS Nitro Enclaves, set this parameter to true.
+ Enabled *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s LaunchTemplateEnclaveOptionsRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchTemplateEnclaveOptionsRequest) GoString() string {
+ return s.String()
+}
+
+// SetEnabled sets the Enabled field's value.
+func (s *LaunchTemplateEnclaveOptionsRequest) SetEnabled(v bool) *LaunchTemplateEnclaveOptionsRequest {
+ s.Enabled = &v
+ return s
+}
+
// Indicates whether an instance is configured for hibernation.
type LaunchTemplateHibernationOptions struct {
_ struct{} `type:"structure"`
@@ -87221,6 +88347,9 @@ type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
// The IPv6 addresses for the network interface.
Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
+ // The index of the network card.
+ NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
+
// The ID of the network interface.
NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
@@ -87301,6 +88430,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
s.NetworkInterfaceId = &v
@@ -87376,6 +88511,11 @@ type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
+ // The index of the network card. Some instance types support multiple network
+ // cards. The primary network interface must be assigned to network card index
+ // 0. The default is network card index 0.
+ NetworkCardIndex *int64 `type:"integer"`
+
// The ID of the network interface.
NetworkInterfaceId *string `type:"string"`
@@ -87456,6 +88596,12 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addr
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
s.NetworkInterfaceId = &v
@@ -89028,7 +90174,7 @@ func (s *ManagedPrefixList) SetVersion(v int64) *ManagedPrefixList {
type MemoryInfo struct {
_ struct{} `type:"structure"`
- // Size of the memory, in MiB.
+ // The size of the memory, in MiB.
SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
}
@@ -89259,6 +90405,9 @@ func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReser
type ModifyClientVpnEndpointInput struct {
_ struct{} `type:"structure"`
+ // The options for managing connection authorization for new client connections.
+ ClientConnectOptions *ClientConnectOptions `type:"structure"`
+
// The ID of the Client VPN endpoint to modify.
//
// ClientVpnEndpointId is a required field
@@ -89294,6 +90443,9 @@ type ModifyClientVpnEndpointInput struct {
// The IDs of one or more security groups to apply to the target network.
SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+ // Specify whether to enable the self-service portal for the Client VPN endpoint.
+ SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
+
// The ARN of the server certificate to be used. The server certificate must
// be provisioned in AWS Certificate Manager (ACM).
ServerCertificateArn *string `type:"string"`
@@ -89339,6 +90491,12 @@ func (s *ModifyClientVpnEndpointInput) Validate() error {
return nil
}
+// SetClientConnectOptions sets the ClientConnectOptions field's value.
+func (s *ModifyClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *ModifyClientVpnEndpointInput {
+ s.ClientConnectOptions = v
+ return s
+}
+
// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
s.ClientVpnEndpointId = &v
@@ -89375,6 +90533,12 @@ func (s *ModifyClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *ModifyC
return s
}
+// SetSelfServicePortal sets the SelfServicePortal field's value.
+func (s *ModifyClientVpnEndpointInput) SetSelfServicePortal(v string) *ModifyClientVpnEndpointInput {
+ s.SelfServicePortal = &v
+ return s
+}
+
// SetServerCertificateArn sets the ServerCertificateArn field's value.
func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
s.ServerCertificateArn = &v
@@ -89527,11 +90691,11 @@ type ModifyEbsDefaultKmsKeyIdInput struct {
//
// You can specify the CMK using any of the following:
//
- // * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
+ // * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Key alias. For example, alias/ExampleAlias.
//
- // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ // * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
//
// * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
//
@@ -89626,9 +90790,7 @@ type ModifyFleetInput struct {
LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"`
// The size of the EC2 Fleet.
- //
- // TargetCapacitySpecification is a required field
- TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
+ TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure"`
}
// String returns the string representation
@@ -89647,9 +90809,6 @@ func (s *ModifyFleetInput) Validate() error {
if s.FleetId == nil {
invalidParams.Add(request.NewErrParamRequired("FleetId"))
}
- if s.TargetCapacitySpecification == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
- }
if s.LaunchTemplateConfigs != nil {
for i, v := range s.LaunchTemplateConfigs {
if v == nil {
@@ -92608,6 +93767,11 @@ func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment
type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
_ struct{} `type:"structure"`
+ // Enable or disable support for appliance mode. If enabled, a traffic flow
+ // between a source and destination uses the same Availability Zone for the
+ // VPC attachment for the lifetime of that flow. The default is disable.
+ ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
+
// Enable or disable DNS support. The default is enable.
DnsSupport *string `type:"string" enum:"DnsSupportValue"`
@@ -92625,6 +93789,12 @@ func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
return s.String()
}
+// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
+func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
+ s.ApplianceModeSupport = &v
+ return s
+}
+
// SetDnsSupport sets the DnsSupport field's value.
func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
s.DnsSupport = &v
@@ -93006,7 +94176,9 @@ type ModifyVpcEndpointInput struct {
// network interface.
AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
- // (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
+ // (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in
+ // which to serve the endpoint. For a Gateway Load Balancer endpoint, you can
+ // specify only one subnet.
AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
// Checks whether you have the required permissions for the action, without
@@ -93015,8 +94187,8 @@ type ModifyVpcEndpointInput struct {
// it is UnauthorizedOperation.
DryRun *bool `type:"boolean"`
- // A policy to attach to the endpoint that controls access to the service. The
- // policy must be in valid JSON format.
+ // (Interface and gateway endpoints) A policy to attach to the endpoint that
+ // controls access to the service. The policy must be in valid JSON format.
PolicyDocument *string `type:"string"`
// (Interface endpoint) Indicates whether a private hosted zone is associated
@@ -93162,6 +94334,10 @@ type ModifyVpcEndpointServiceConfigurationInput struct {
// accepted.
AcceptanceRequired *bool `type:"boolean"`
+ // The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your
+ // service configuration.
+ AddGatewayLoadBalancerArns []*string `locationName:"AddGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
+
// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
// service configuration.
AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
@@ -93172,14 +94348,20 @@ type ModifyVpcEndpointServiceConfigurationInput struct {
// it is UnauthorizedOperation.
DryRun *bool `type:"boolean"`
- // The private DNS name to assign to the endpoint service.
+ // (Interface endpoint configuration) The private DNS name to assign to the
+ // endpoint service.
PrivateDnsName *string `type:"string"`
+ // The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from
+ // your service configuration.
+ RemoveGatewayLoadBalancerArns []*string `locationName:"RemoveGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
+
// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
// your service configuration.
RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
- // Removes the private DNS name of the endpoint service.
+ // (Interface endpoint configuration) Removes the private DNS name of the endpoint
+ // service.
RemovePrivateDnsName *bool `type:"boolean"`
// The ID of the service.
@@ -93217,6 +94399,12 @@ func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v boo
return s
}
+// SetAddGatewayLoadBalancerArns sets the AddGatewayLoadBalancerArns field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
+ s.AddGatewayLoadBalancerArns = v
+ return s
+}
+
// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
s.AddNetworkLoadBalancerArns = v
@@ -93235,6 +94423,12 @@ func (s *ModifyVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string)
return s
}
+// SetRemoveGatewayLoadBalancerArns sets the RemoveGatewayLoadBalancerArns field's value.
+func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
+ s.RemoveGatewayLoadBalancerArns = v
+ return s
+}
+
// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
s.RemoveNetworkLoadBalancerArns = v
@@ -94854,10 +96048,55 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
return s
}
+// Describes the network card support of the instance type.
+type NetworkCardInfo struct {
+ _ struct{} `type:"structure"`
+
+ // The maximum number of network interfaces for the network card.
+ MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
+
+ // The index of the network card.
+ NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
+
+ // The network performance of the network card.
+ NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkCardInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkCardInfo) GoString() string {
+ return s.String()
+}
+
+// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
+func (s *NetworkCardInfo) SetMaximumNetworkInterfaces(v int64) *NetworkCardInfo {
+ s.MaximumNetworkInterfaces = &v
+ return s
+}
+
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *NetworkCardInfo) SetNetworkCardIndex(v int64) *NetworkCardInfo {
+ s.NetworkCardIndex = &v
+ return s
+}
+
+// SetNetworkPerformance sets the NetworkPerformance field's value.
+func (s *NetworkCardInfo) SetNetworkPerformance(v string) *NetworkCardInfo {
+ s.NetworkPerformance = &v
+ return s
+}
+
// Describes the networking features of the instance type.
type NetworkInfo struct {
_ struct{} `type:"structure"`
+ // The index of the default network card, starting at 0.
+ DefaultNetworkCardIndex *int64 `locationName:"defaultNetworkCardIndex" type:"integer"`
+
// Indicates whether Elastic Fabric Adapter (EFA) is supported.
EfaSupported *bool `locationName:"efaSupported" type:"boolean"`
@@ -94873,10 +96112,17 @@ type NetworkInfo struct {
// Indicates whether IPv6 is supported.
Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
+ // The maximum number of physical network cards that can be allocated to the
+ // instance.
+ MaximumNetworkCards *int64 `locationName:"maximumNetworkCards" type:"integer"`
+
// The maximum number of network interfaces for the instance type.
MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
- // Describes the network performance.
+ // Describes the network cards for the instance type.
+ NetworkCards []*NetworkCardInfo `locationName:"networkCards" locationNameList:"item" type:"list"`
+
+ // The network performance.
NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
}
@@ -94890,6 +96136,12 @@ func (s NetworkInfo) GoString() string {
return s.String()
}
+// SetDefaultNetworkCardIndex sets the DefaultNetworkCardIndex field's value.
+func (s *NetworkInfo) SetDefaultNetworkCardIndex(v int64) *NetworkInfo {
+ s.DefaultNetworkCardIndex = &v
+ return s
+}
+
// SetEfaSupported sets the EfaSupported field's value.
func (s *NetworkInfo) SetEfaSupported(v bool) *NetworkInfo {
s.EfaSupported = &v
@@ -94920,12 +96172,24 @@ func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
return s
}
+// SetMaximumNetworkCards sets the MaximumNetworkCards field's value.
+func (s *NetworkInfo) SetMaximumNetworkCards(v int64) *NetworkInfo {
+ s.MaximumNetworkCards = &v
+ return s
+}
+
// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
s.MaximumNetworkInterfaces = &v
return s
}
+// SetNetworkCards sets the NetworkCards field's value.
+func (s *NetworkInfo) SetNetworkCards(v []*NetworkCardInfo) *NetworkInfo {
+ s.NetworkCards = v
+ return s
+}
+
// SetNetworkPerformance sets the NetworkPerformance field's value.
func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
s.NetworkPerformance = &v
@@ -95165,8 +96429,7 @@ type NetworkInterfaceAssociation struct {
// The public DNS name.
PublicDnsName *string `locationName:"publicDnsName" type:"string"`
- // The address of the Elastic IP address or Carrier IP address bound to the
- // network interface.
+ // The address of the Elastic IP address bound to the network interface.
PublicIp *string `locationName:"publicIp" type:"string"`
}
@@ -95244,6 +96507,9 @@ type NetworkInterfaceAttachment struct {
// The AWS account ID of the owner of the instance.
InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
+ // The index of the network card.
+ NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
+
// The attachment state.
Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
}
@@ -95294,6 +96560,12 @@ func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterf
return s
}
+// SetNetworkCardIndex sets the NetworkCardIndex field's value.
+func (s *NetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *NetworkInterfaceAttachment {
+ s.NetworkCardIndex = &v
+ return s
+}
+
// SetStatus sets the Status field's value.
func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
s.Status = &v
@@ -96394,7 +97666,7 @@ func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
type PlacementGroupInfo struct {
_ struct{} `type:"structure"`
- // A list of supported placement groups types.
+ // The supported placement group types.
SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
}
@@ -96909,7 +98181,7 @@ func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIp
type ProcessorInfo struct {
_ struct{} `type:"structure"`
- // A list of architectures supported by the instance type.
+ // The architectures supported by the instance type.
SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
// The speed of the processor, in GHz.
@@ -99285,6 +100557,9 @@ type ReplaceRouteInput struct {
// The ID of a transit gateway.
TransitGatewayId *string `type:"string"`
+ // The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
+ VpcEndpointId *string `type:"string"`
+
// The ID of a VPC peering connection.
VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
}
@@ -99396,6 +100671,12 @@ func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
return s
}
+// SetVpcEndpointId sets the VpcEndpointId field's value.
+func (s *ReplaceRouteInput) SetVpcEndpointId(v string) *ReplaceRouteInput {
+ s.VpcEndpointId = &v
+ return s
+}
+
// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
s.VpcPeeringConnectionId = &v
@@ -99800,6 +101081,13 @@ type RequestLaunchTemplateData struct {
// The elastic inference accelerator for the instance.
ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
+ // Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
+ // information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
+ // in the AWS Nitro Enclaves User Guide.
+ //
+ // You can't enable AWS Nitro Enclaves and hibernation on the same instance.
+ EnclaveOptions *LaunchTemplateEnclaveOptionsRequest `type:"structure"`
+
// Indicates whether an instance is enabled for hibernation. This parameter
// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
@@ -99981,6 +101269,12 @@ func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchT
return s
}
+// SetEnclaveOptions sets the EnclaveOptions field's value.
+func (s *RequestLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptionsRequest) *RequestLaunchTemplateData {
+ s.EnclaveOptions = v
+ return s
+}
+
// SetHibernationOptions sets the HibernationOptions field's value.
func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
s.HibernationOptions = v
@@ -100205,6 +101499,9 @@ type RequestSpotInstancesInput struct {
//
// You can't specify an Availability Zone group or a launch group if you specify
// a duration.
+ //
+ // New accounts or accounts with no previous billing history with AWS are not
+ // eligible for Spot Instances with a defined duration (also known as Spot blocks).
BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
// Unique, case-sensitive identifier that you provide to ensure the idempotency
@@ -100261,11 +101558,16 @@ type RequestSpotInstancesInput struct {
// date and time.
ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
- // The end date of the request. If this is a one-time request, the request remains
- // active until all instances launch, the request is canceled, or this date
- // is reached. If the request is persistent, it remains active until it is canceled
- // or this date is reached. The default end date is 7 days from the current
- // date.
+ // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
+ //
+ // * For a persistent request, the request remains active until the ValidUntil
+ // date and time is reached. Otherwise, the request remains active until
+ // you cancel it.
+ //
+ // * For a one-time request, the request remains active until all instances
+ // launch, the request is canceled, or the ValidUntil date and time is reached.
+ // By default, the request is valid for 7 days from the date the request
+ // was created.
ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
}
@@ -100587,7 +101889,9 @@ func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunc
return s
}
-// Describes a reservation.
+// Describes a launch request for one or more instances, and includes owner,
+// requester, and security group information that applies to all instances in
+// the launch request.
type Reservation struct {
_ struct{} `type:"structure"`
@@ -101933,6 +103237,9 @@ type ResponseLaunchTemplateData struct {
// The elastic inference accelerator for the instance.
ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
+ // Indicates whether the instance is enabled for AWS Nitro Enclaves.
+ EnclaveOptions *LaunchTemplateEnclaveOptions `locationName:"enclaveOptions" type:"structure"`
+
// Indicates whether an instance is configured for hibernation. For more information,
// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
// in the Amazon Elastic Compute Cloud User Guide.
@@ -102051,6 +103358,12 @@ func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*Launch
return s
}
+// SetEnclaveOptions sets the EnclaveOptions field's value.
+func (s *ResponseLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptions) *ResponseLaunchTemplateData {
+ s.EnclaveOptions = v
+ return s
+}
+
// SetHibernationOptions sets the HibernationOptions field's value.
func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
s.HibernationOptions = v
@@ -103171,9 +104484,18 @@ type RunInstancesInput struct {
// You cannot specify accelerators from different generations in the same request.
ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
+ // Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
+ // information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
+ // in the AWS Nitro Enclaves User Guide.
+ //
+ // You can't enable AWS Nitro Enclaves and hibernation on the same instance.
+ EnclaveOptions *EnclaveOptionsRequest `type:"structure"`
+
// Indicates whether an instance is enabled for hibernation. For more information,
// see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
// in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // You can't enable hibernation and AWS Nitro Enclaves on the same instance.
HibernationOptions *HibernationOptionsRequest `type:"structure"`
// The IAM instance profile.
@@ -103462,6 +104784,12 @@ func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenc
return s
}
+// SetEnclaveOptions sets the EnclaveOptions field's value.
+func (s *RunInstancesInput) SetEnclaveOptions(v *EnclaveOptionsRequest) *RunInstancesInput {
+ s.EnclaveOptions = v
+ return s
+}
+
// SetHibernationOptions sets the HibernationOptions field's value.
func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
s.HibernationOptions = v
@@ -105463,6 +106791,9 @@ type ServiceConfiguration struct {
// The DNS names for the service.
BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
+ // The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
+ GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
+
// Indicates whether the service manages its VPC endpoints. Management of the
// service VPC endpoints using the VPC endpoint API is restricted.
ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
@@ -105520,6 +106851,12 @@ func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConf
return s
}
+// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
+func (s *ServiceConfiguration) SetGatewayLoadBalancerArns(v []*string) *ServiceConfiguration {
+ s.GatewayLoadBalancerArns = v
+ return s
+}
+
// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
s.ManagesVpcEndpoints = &v
@@ -105838,10 +107175,8 @@ type Snapshot struct {
// key for the parent volume.
KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
- // The AWS owner alias, as maintained by Amazon. The possible values are: amazon
- // | self | all | aws-marketplace | microsoft. This AWS owner alias is not to
- // be confused with the user-configured AWS account alias, which is set from
- // the IAM console.
+ // The AWS owner alias, from an Amazon-maintained list (amazon). This is not
+ // the user-configured AWS account alias set using the IAM console.
OwnerAlias *string `locationName:"ownerAlias" type:"string"`
// The AWS account ID of the EBS snapshot owner.
@@ -106354,11 +107689,48 @@ func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDe
return s
}
+// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
+// that your Spot Instance is at an elevated risk of being interrupted. For
+// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance)
+// in the Amazon EC2 User Guide for Linux Instances.
+type SpotCapacityRebalance struct {
+ _ struct{} `type:"structure"`
+
+ // The replacement strategy to use. Only available for fleets of type maintain.
+ // You must specify a value, otherwise you get an error.
+ //
+ // To allow Spot Fleet to launch a replacement Spot Instance when an instance
+ // rebalance notification is emitted for a Spot Instance in the fleet, specify
+ // launch.
+ //
+ // When a replacement instance is launched, the instance marked for rebalance
+ // is not automatically terminated. You can terminate it, or you can wait until
+ // Amazon EC2 interrupts it. You are charged for all instances while they are
+ // running.
+ ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"ReplacementStrategy"`
+}
+
+// String returns the string representation
+func (s SpotCapacityRebalance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotCapacityRebalance) GoString() string {
+ return s.String()
+}
+
+// SetReplacementStrategy sets the ReplacementStrategy field's value.
+func (s *SpotCapacityRebalance) SetReplacementStrategy(v string) *SpotCapacityRebalance {
+ s.ReplacementStrategy = &v
+ return s
+}
+
// Describes the data feed for a Spot Instance.
type SpotDatafeedSubscription struct {
_ struct{} `type:"structure"`
- // The Amazon S3 bucket where the Spot Instance data feed is located.
+ // The name of the Amazon S3 bucket where the Spot Instance data feed is located.
Bucket *string `locationName:"bucket" type:"string"`
// The fault codes for the Spot Instance request, if any.
@@ -106367,7 +107739,7 @@ type SpotDatafeedSubscription struct {
// The AWS account ID of the account.
OwnerId *string `locationName:"ownerId" type:"string"`
- // The prefix that is prepended to data feed files.
+ // The prefix for the data feed files.
Prefix *string `locationName:"prefix" type:"string"`
// The state of the Spot Instance data feed subscription.
@@ -106415,8 +107787,9 @@ func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription
}
// Describes the launch specification for one or more Spot Instances. If you
-// include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification;
-// you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
+// include On-Demand capacity in your fleet request or want to specify an EFA
+// network device, you can't use SpotFleetLaunchSpecification; you must use
+// LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
type SpotFleetLaunchSpecification struct {
_ struct{} `type:"structure"`
@@ -106459,6 +107832,9 @@ type SpotFleetLaunchSpecification struct {
// One or more network interfaces. If you specify a network interface, you must
// specify subnet IDs and security group IDs using the network interface.
+ //
+ // SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter
+ // (EFA). To specify an EFA, you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
// The placement information.
@@ -106824,6 +108200,10 @@ type SpotFleetRequestConfigData struct {
// Indicates whether Spot Fleet should replace unhealthy instances.
ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
+ // The strategies for managing your Spot Instances that are at an elevated risk
+ // of being interrupted.
+ SpotMaintenanceStrategies *SpotMaintenanceStrategies `locationName:"spotMaintenanceStrategies" type:"structure"`
+
// The maximum amount per hour for Spot Instances that you're willing to pay.
// You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
// or both parameters to ensure that your fleet cost does not exceed your budget.
@@ -107013,6 +108393,12 @@ func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotF
return s
}
+// SetSpotMaintenanceStrategies sets the SpotMaintenanceStrategies field's value.
+func (s *SpotFleetRequestConfigData) SetSpotMaintenanceStrategies(v *SpotMaintenanceStrategies) *SpotFleetRequestConfigData {
+ s.SpotMaintenanceStrategies = v
+ return s
+}
+
// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
s.SpotMaxTotalPrice = &v
@@ -107163,11 +108549,16 @@ type SpotInstanceRequest struct {
// The request becomes active at this date and time.
ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
- // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
- // If this is a one-time request, it remains active until all instances launch,
- // the request is canceled, or this date is reached. If the request is persistent,
- // it remains active until it is canceled or this date is reached. The default
- // end date is 7 days from the current date.
+ // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
+ //
+ // * For a persistent request, the request remains active until the validUntil
+ // date and time is reached. Otherwise, the request remains active until
+ // you cancel it.
+ //
+ // * For a one-time request, the request remains active until all instances
+ // launch, the request is canceled, or the validUntil date and time is reached.
+ // By default, the request is valid for 7 days from the date the request
+ // was created.
ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
}
@@ -107372,6 +108763,32 @@ func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
return s
}
+// The strategies for managing your Spot Instances that are at an elevated risk
+// of being interrupted.
+type SpotMaintenanceStrategies struct {
+ _ struct{} `type:"structure"`
+
+ // The strategy to use when Amazon EC2 emits a signal that your Spot Instance
+ // is at an elevated risk of being interrupted.
+ CapacityRebalance *SpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotMaintenanceStrategies) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotMaintenanceStrategies) GoString() string {
+ return s.String()
+}
+
+// SetCapacityRebalance sets the CapacityRebalance field's value.
+func (s *SpotMaintenanceStrategies) SetCapacityRebalance(v *SpotCapacityRebalance) *SpotMaintenanceStrategies {
+ s.CapacityRebalance = v
+ return s
+}
+
// The options for Spot Instances.
type SpotMarketOptions struct {
_ struct{} `type:"structure"`
@@ -107379,6 +108796,17 @@ type SpotMarketOptions struct {
// The required duration for the Spot Instances (also known as Spot blocks),
// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
// or 360).
+ //
+ // The duration period starts as soon as your Spot Instance receives its instance
+ // ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
+ // for termination and provides a Spot Instance termination notice, which gives
+ // the instance a two-minute warning before it terminates.
+ //
+ // You can't specify an Availability Zone group or a launch group if you specify
+ // a duration.
+ //
+ // New accounts or accounts with no previous billing history with AWS are not
+ // eligible for Spot Instances with a defined duration (also known as Spot blocks).
BlockDurationMinutes *int64 `type:"integer"`
// The behavior when a Spot Instance is interrupted. The default is terminate.
@@ -107393,11 +108821,15 @@ type SpotMarketOptions struct {
// is set to either hibernate or stop.
SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
- // The end date of the request. For a one-time request, the request remains
- // active until all instances launch, the request is canceled, or this date
- // is reached. If the request is persistent, it remains active until it is canceled
- // or this date and time is reached. The default end date is 7 days from the
- // current date.
+ // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported
+ // only for persistent requests.
+ //
+ // * For a persistent request, the request remains active until the ValidUntil
+ // date and time is reached. Otherwise, the request remains active until
+ // you cancel it.
+ //
+ // * For a one-time request, ValidUntil is not supported. The request remains
+ // active until all instances launch or you cancel the request.
ValidUntil *time.Time `type:"timestamp"`
}
@@ -107469,6 +108901,10 @@ type SpotOptions struct {
// the number of Spot pools that you specify.
InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
+ // The strategies for managing your workloads on your Spot Instances that will
+ // be interrupted. Currently only the capacity rebalance strategy is available.
+ MaintenanceStrategies *FleetSpotMaintenanceStrategies `locationName:"maintenanceStrategies" type:"structure"`
+
// The maximum amount per hour for Spot Instances that you're willing to pay.
MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
@@ -107513,6 +108949,12 @@ func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
return s
}
+// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
+func (s *SpotOptions) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategies) *SpotOptions {
+ s.MaintenanceStrategies = v
+ return s
+}
+
// SetMaxTotalPrice sets the MaxTotalPrice field's value.
func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
s.MaxTotalPrice = &v
@@ -107565,6 +109007,10 @@ type SpotOptionsRequest struct {
// across the number of Spot pools that you specify.
InstancePoolsToUseCount *int64 `type:"integer"`
+ // The strategies for managing your Spot Instances that are at an elevated risk
+ // of being interrupted.
+ MaintenanceStrategies *FleetSpotMaintenanceStrategiesRequest `type:"structure"`
+
// The maximum amount per hour for Spot Instances that you're willing to pay.
MaxTotalPrice *string `type:"string"`
@@ -107609,6 +109055,12 @@ func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsReq
return s
}
+// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
+func (s *SpotOptionsRequest) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategiesRequest) *SpotOptionsRequest {
+ s.MaintenanceStrategies = v
+ return s
+}
+
// SetMaxTotalPrice sets the MaxTotalPrice field's value.
func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
s.MaxTotalPrice = &v
@@ -108692,12 +110144,12 @@ type TagSpecification struct {
_ struct{} `type:"structure"`
// The type of resource to tag. Currently, the resource types that support tagging
- // on creation are: capacity-reservation | client-vpn-endpoint | customer-gateway
- // | dedicated-host | dhcp-options | export-image-task | export-instance-task
- // | fleet | fpga-image | host-reservation | import-image-task | import-snapshot-task
- // | instance | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair |
- // launch-template | placement-group | prefix-list | natgateway | network-acl
- // | route-table | security-group | spot-fleet-request | spot-instances-request
+ // on creation are: capacity-reservation | carrier-gateway | client-vpn-endpoint
+ // | customer-gateway | dedicated-host | dhcp-options | export-image-task |
+ // export-instance-task | fleet | fpga-image | host-reservation | import-image-task
+ // | import-snapshot-task | instance | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2
+ // | key-pair | launch-template | placement-group | prefix-list | natgateway
+ // | network-acl | route-table | security-group | spot-fleet-request | spot-instances-request
// | snapshot | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target
// | transit-gateway | transit-gateway-attachment | transit-gateway-route-table
// | volume |vpc | vpc-peering-connection | vpc-endpoint (for interface and
@@ -111387,6 +112839,9 @@ func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpc
type TransitGatewayVpcAttachmentOptions struct {
_ struct{} `type:"structure"`
+ // Indicates whether appliance mode support is enabled.
+ ApplianceModeSupport *string `locationName:"applianceModeSupport" type:"string" enum:"ApplianceModeSupportValue"`
+
// Indicates whether DNS support is enabled.
DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
@@ -111404,6 +112859,12 @@ func (s TransitGatewayVpcAttachmentOptions) GoString() string {
return s.String()
}
+// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
+func (s *TransitGatewayVpcAttachmentOptions) SetApplianceModeSupport(v string) *TransitGatewayVpcAttachmentOptions {
+ s.ApplianceModeSupport = &v
+ return s
+}
+
// SetDnsSupport sets the DnsSupport field's value.
func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
s.DnsSupport = &v
@@ -112355,12 +113816,11 @@ type VCpuInfo struct {
// The default number of vCPUs for the instance type.
DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
- // List of the valid number of cores that can be configured for the instance
- // type.
+ // The valid number of cores that can be configured for the instance type.
ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
- // List of the valid number of threads per core that can be configured for the
- // instance type.
+ // The valid number of threads per core that can be configured for the instance
+ // type.
ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
}
@@ -113673,6 +115133,9 @@ type VpcEndpointConnection struct {
// The DNS entries for the VPC endpoint.
DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
+ // The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
+ GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
+
// The Amazon Resource Names (ARNs) of the network load balancers for the service.
NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
@@ -113711,6 +115174,12 @@ func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnect
return s
}
+// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
+func (s *VpcEndpointConnection) SetGatewayLoadBalancerArns(v []*string) *VpcEndpointConnection {
+ s.GatewayLoadBalancerArns = v
+ return s
+}
+
// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
s.NetworkLoadBalancerArns = v
@@ -114929,6 +116398,22 @@ func AllowsMultipleInstanceTypes_Values() []string {
}
}
+const (
+ // ApplianceModeSupportValueEnable is a ApplianceModeSupportValue enum value
+ ApplianceModeSupportValueEnable = "enable"
+
+ // ApplianceModeSupportValueDisable is a ApplianceModeSupportValue enum value
+ ApplianceModeSupportValueDisable = "disable"
+)
+
+// ApplianceModeSupportValue_Values returns all elements of the ApplianceModeSupportValue enum
+func ApplianceModeSupportValue_Values() []string {
+ return []string{
+ ApplianceModeSupportValueEnable,
+ ApplianceModeSupportValueDisable,
+ }
+}
+
const (
// ArchitectureTypeI386 is a ArchitectureType enum value
ArchitectureTypeI386 = "i386"
@@ -115493,6 +116978,22 @@ func ClientVpnConnectionStatusCode_Values() []string {
}
}
+const (
+ // ClientVpnEndpointAttributeStatusCodeApplying is a ClientVpnEndpointAttributeStatusCode enum value
+ ClientVpnEndpointAttributeStatusCodeApplying = "applying"
+
+ // ClientVpnEndpointAttributeStatusCodeApplied is a ClientVpnEndpointAttributeStatusCode enum value
+ ClientVpnEndpointAttributeStatusCodeApplied = "applied"
+)
+
+// ClientVpnEndpointAttributeStatusCode_Values returns all elements of the ClientVpnEndpointAttributeStatusCode enum
+func ClientVpnEndpointAttributeStatusCode_Values() []string {
+ return []string{
+ ClientVpnEndpointAttributeStatusCodeApplying,
+ ClientVpnEndpointAttributeStatusCodeApplied,
+ }
+}
+
const (
// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
@@ -115961,6 +117462,26 @@ func EndDateType_Values() []string {
}
}
+const (
+ // EphemeralNvmeSupportUnsupported is a EphemeralNvmeSupport enum value
+ EphemeralNvmeSupportUnsupported = "unsupported"
+
+ // EphemeralNvmeSupportSupported is a EphemeralNvmeSupport enum value
+ EphemeralNvmeSupportSupported = "supported"
+
+ // EphemeralNvmeSupportRequired is a EphemeralNvmeSupport enum value
+ EphemeralNvmeSupportRequired = "required"
+)
+
+// EphemeralNvmeSupport_Values returns all elements of the EphemeralNvmeSupport enum
+func EphemeralNvmeSupport_Values() []string {
+ return []string{
+ EphemeralNvmeSupportUnsupported,
+ EphemeralNvmeSupportSupported,
+ EphemeralNvmeSupportRequired,
+ }
+}
+
const (
// EventCodeInstanceReboot is a EventCode enum value
EventCodeInstanceReboot = "instance-reboot"
@@ -116189,6 +117710,18 @@ func FleetOnDemandAllocationStrategy_Values() []string {
}
}
+const (
+ // FleetReplacementStrategyLaunch is a FleetReplacementStrategy enum value
+ FleetReplacementStrategyLaunch = "launch"
+)
+
+// FleetReplacementStrategy_Values returns all elements of the FleetReplacementStrategy enum
+func FleetReplacementStrategy_Values() []string {
+ return []string{
+ FleetReplacementStrategyLaunch,
+ }
+}
+
const (
// FleetStateCodeSubmitted is a FleetStateCode enum value
FleetStateCodeSubmitted = "submitted"
@@ -116547,6 +118080,9 @@ const (
// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
InstanceAttributeNameEnaSupport = "enaSupport"
+
+ // InstanceAttributeNameEnclaveOptions is a InstanceAttributeName enum value
+ InstanceAttributeNameEnclaveOptions = "enclaveOptions"
)
// InstanceAttributeName_Values returns all elements of the InstanceAttributeName enum
@@ -116566,6 +118102,7 @@ func InstanceAttributeName_Values() []string {
InstanceAttributeNameEbsOptimized,
InstanceAttributeNameSriovNetSupport,
InstanceAttributeNameEnaSupport,
+ InstanceAttributeNameEnclaveOptions,
}
}
@@ -117414,6 +118951,9 @@ const (
// InstanceTypeP3dn24xlarge is a InstanceType enum value
InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
+ // InstanceTypeP4d24xlarge is a InstanceType enum value
+ InstanceTypeP4d24xlarge = "p4d.24xlarge"
+
// InstanceTypeD2Xlarge is a InstanceType enum value
InstanceTypeD2Xlarge = "d2.xlarge"
@@ -118001,6 +119541,7 @@ func InstanceType_Values() []string {
InstanceTypeP38xlarge,
InstanceTypeP316xlarge,
InstanceTypeP3dn24xlarge,
+ InstanceTypeP4d24xlarge,
InstanceTypeD2Xlarge,
InstanceTypeD22xlarge,
InstanceTypeD24xlarge,
@@ -118941,6 +120482,18 @@ func RecurringChargeFrequency_Values() []string {
}
}
+const (
+ // ReplacementStrategyLaunch is a ReplacementStrategy enum value
+ ReplacementStrategyLaunch = "launch"
+)
+
+// ReplacementStrategy_Values returns all elements of the ReplacementStrategy enum
+func ReplacementStrategy_Values() []string {
+ return []string{
+ ReplacementStrategyLaunch,
+ }
+}
+
const (
// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
@@ -119377,6 +120930,22 @@ func Scope_Values() []string {
}
}
+const (
+ // SelfServicePortalEnabled is a SelfServicePortal enum value
+ SelfServicePortalEnabled = "enabled"
+
+ // SelfServicePortalDisabled is a SelfServicePortal enum value
+ SelfServicePortalDisabled = "disabled"
+)
+
+// SelfServicePortal_Values returns all elements of the SelfServicePortal enum
+func SelfServicePortal_Values() []string {
+ return []string{
+ SelfServicePortalEnabled,
+ SelfServicePortalDisabled,
+ }
+}
+
const (
// ServiceStatePending is a ServiceState enum value
ServiceStatePending = "Pending"
@@ -119411,6 +120980,9 @@ const (
// ServiceTypeGateway is a ServiceType enum value
ServiceTypeGateway = "Gateway"
+
+ // ServiceTypeGatewayLoadBalancer is a ServiceType enum value
+ ServiceTypeGatewayLoadBalancer = "GatewayLoadBalancer"
)
// ServiceType_Values returns all elements of the ServiceType enum
@@ -119418,6 +120990,7 @@ func ServiceType_Values() []string {
return []string{
ServiceTypeInterface,
ServiceTypeGateway,
+ ServiceTypeGatewayLoadBalancer,
}
}
@@ -120527,6 +122100,9 @@ const (
// VpcEndpointTypeGateway is a VpcEndpointType enum value
VpcEndpointTypeGateway = "Gateway"
+
+ // VpcEndpointTypeGatewayLoadBalancer is a VpcEndpointType enum value
+ VpcEndpointTypeGatewayLoadBalancer = "GatewayLoadBalancer"
)
// VpcEndpointType_Values returns all elements of the VpcEndpointType enum
@@ -120534,6 +122110,7 @@ func VpcEndpointType_Values() []string {
return []string{
VpcEndpointTypeInterface,
VpcEndpointTypeGateway,
+ VpcEndpointTypeGatewayLoadBalancer,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go
index 6e1ae78f1..dd70a8f07 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go
@@ -116,6 +116,10 @@ type EC2API interface {
AssociateDhcpOptionsWithContext(aws.Context, *ec2.AssociateDhcpOptionsInput, ...request.Option) (*ec2.AssociateDhcpOptionsOutput, error)
AssociateDhcpOptionsRequest(*ec2.AssociateDhcpOptionsInput) (*request.Request, *ec2.AssociateDhcpOptionsOutput)
+ AssociateEnclaveCertificateIamRole(*ec2.AssociateEnclaveCertificateIamRoleInput) (*ec2.AssociateEnclaveCertificateIamRoleOutput, error)
+ AssociateEnclaveCertificateIamRoleWithContext(aws.Context, *ec2.AssociateEnclaveCertificateIamRoleInput, ...request.Option) (*ec2.AssociateEnclaveCertificateIamRoleOutput, error)
+ AssociateEnclaveCertificateIamRoleRequest(*ec2.AssociateEnclaveCertificateIamRoleInput) (*request.Request, *ec2.AssociateEnclaveCertificateIamRoleOutput)
+
AssociateIamInstanceProfile(*ec2.AssociateIamInstanceProfileInput) (*ec2.AssociateIamInstanceProfileOutput, error)
AssociateIamInstanceProfileWithContext(aws.Context, *ec2.AssociateIamInstanceProfileInput, ...request.Option) (*ec2.AssociateIamInstanceProfileOutput, error)
AssociateIamInstanceProfileRequest(*ec2.AssociateIamInstanceProfileInput) (*request.Request, *ec2.AssociateIamInstanceProfileOutput)
@@ -1420,6 +1424,10 @@ type EC2API interface {
DisassociateClientVpnTargetNetworkWithContext(aws.Context, *ec2.DisassociateClientVpnTargetNetworkInput, ...request.Option) (*ec2.DisassociateClientVpnTargetNetworkOutput, error)
DisassociateClientVpnTargetNetworkRequest(*ec2.DisassociateClientVpnTargetNetworkInput) (*request.Request, *ec2.DisassociateClientVpnTargetNetworkOutput)
+ DisassociateEnclaveCertificateIamRole(*ec2.DisassociateEnclaveCertificateIamRoleInput) (*ec2.DisassociateEnclaveCertificateIamRoleOutput, error)
+ DisassociateEnclaveCertificateIamRoleWithContext(aws.Context, *ec2.DisassociateEnclaveCertificateIamRoleInput, ...request.Option) (*ec2.DisassociateEnclaveCertificateIamRoleOutput, error)
+ DisassociateEnclaveCertificateIamRoleRequest(*ec2.DisassociateEnclaveCertificateIamRoleInput) (*request.Request, *ec2.DisassociateEnclaveCertificateIamRoleOutput)
+
DisassociateIamInstanceProfile(*ec2.DisassociateIamInstanceProfileInput) (*ec2.DisassociateIamInstanceProfileOutput, error)
DisassociateIamInstanceProfileWithContext(aws.Context, *ec2.DisassociateIamInstanceProfileInput, ...request.Option) (*ec2.DisassociateIamInstanceProfileOutput, error)
DisassociateIamInstanceProfileRequest(*ec2.DisassociateIamInstanceProfileInput) (*request.Request, *ec2.DisassociateIamInstanceProfileOutput)
@@ -1488,6 +1496,10 @@ type EC2API interface {
ExportTransitGatewayRoutesWithContext(aws.Context, *ec2.ExportTransitGatewayRoutesInput, ...request.Option) (*ec2.ExportTransitGatewayRoutesOutput, error)
ExportTransitGatewayRoutesRequest(*ec2.ExportTransitGatewayRoutesInput) (*request.Request, *ec2.ExportTransitGatewayRoutesOutput)
+ GetAssociatedEnclaveCertificateIamRoles(*ec2.GetAssociatedEnclaveCertificateIamRolesInput) (*ec2.GetAssociatedEnclaveCertificateIamRolesOutput, error)
+ GetAssociatedEnclaveCertificateIamRolesWithContext(aws.Context, *ec2.GetAssociatedEnclaveCertificateIamRolesInput, ...request.Option) (*ec2.GetAssociatedEnclaveCertificateIamRolesOutput, error)
+ GetAssociatedEnclaveCertificateIamRolesRequest(*ec2.GetAssociatedEnclaveCertificateIamRolesInput) (*request.Request, *ec2.GetAssociatedEnclaveCertificateIamRolesOutput)
+
GetAssociatedIpv6PoolCidrs(*ec2.GetAssociatedIpv6PoolCidrsInput) (*ec2.GetAssociatedIpv6PoolCidrsOutput, error)
GetAssociatedIpv6PoolCidrsWithContext(aws.Context, *ec2.GetAssociatedIpv6PoolCidrsInput, ...request.Option) (*ec2.GetAssociatedIpv6PoolCidrsOutput, error)
GetAssociatedIpv6PoolCidrsRequest(*ec2.GetAssociatedIpv6PoolCidrsInput) (*request.Request, *ec2.GetAssociatedIpv6PoolCidrsOutput)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go
index 89eed6b4a..09539b9ab 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go
@@ -63,12 +63,9 @@ func (c *ELBV2) AddListenerCertificatesRequest(input *AddListenerCertificatesInp
// If the certificate in already in the certificate list, the call is successful
// but the certificate is not added again.
//
-// To get the certificate list for a listener, use DescribeListenerCertificates.
-// To remove certificates from the certificate list for a listener, use RemoveListenerCertificates.
-// To replace the default certificate for a listener, use ModifyListener.
-//
-// For more information, see SSL Certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates)
-// in the Application Load Balancers Guide.
+// For more information, see HTTPS listeners (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html)
+// in the Application Load Balancers Guide or TLS listeners (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html)
+// in the Network Load Balancers 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
@@ -155,15 +152,12 @@ func (c *ELBV2) AddTagsRequest(input *AddTagsInput) (req *request.Request, outpu
// AddTags API operation for Elastic Load Balancing.
//
// Adds the specified tags to the specified Elastic Load Balancing resource.
-// You can tag your Application Load Balancers, Network Load Balancers, target
-// groups, listeners, and rules.
+// You can tag your Application Load Balancers, Network Load Balancers, Gateway
+// Load Balancers, target groups, listeners, and rules.
//
// Each tag consists of a key and an optional value. If a resource already has
// a tag with the same key, AddTags updates its value.
//
-// To list the current tags for your resources, use DescribeTags. To remove
-// tags from your resources, use RemoveTags.
-//
// 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.
@@ -250,22 +244,21 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request.
// CreateListener API operation for Elastic Load Balancing.
//
-// Creates a listener for the specified Application Load Balancer or Network
-// Load Balancer.
+// Creates a listener for the specified Application Load Balancer, Network Load
+// Balancer. or Gateway Load Balancer.
//
-// To update a listener, use ModifyListener. When you are finished with a listener,
-// you can delete it using DeleteListener. If you are finished with both the
-// listener and the load balancer, you can delete them both using DeleteLoadBalancer.
+// For more information, see the following:
+//
+// * Listeners for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
+//
+// * Listeners for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html)
+//
+// * Listeners for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-listeners.html)
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple listeners with the same settings, each
// call succeeds.
//
-// For more information, see Listeners for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html)
-// in the Application Load Balancers Guide and Listeners for Your Network Load
-// Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html)
-// in the Network Load Balancers 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.
@@ -397,29 +390,21 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *
// CreateLoadBalancer API operation for Elastic Load Balancing.
//
-// Creates an Application Load Balancer or a Network Load Balancer.
+// Creates an Application Load Balancer, Network Load Balancer, or Gateway Load
+// Balancer.
//
-// When you create a load balancer, you can specify security groups, public
-// subnets, IP address type, and tags. Otherwise, you could do so later using
-// SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
+// For more information, see the following:
//
-// To create listeners for your load balancer, use CreateListener. To describe
-// your current load balancers, see DescribeLoadBalancers. When you are finished
-// with a load balancer, you can delete it using DeleteLoadBalancer.
+// * Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html)
//
-// For limit information, see Limits for Your Application Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
-// in the Application Load Balancers Guide and Limits for Your Network Load
-// Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
-// in the Network Load Balancers Guide.
+// * Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html)
+//
+// * Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html)
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple load balancers with the same settings,
// each call succeeds.
//
-// For more information, see Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html)
-// in the Application Load Balancers Guide and Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html)
-// in the Network Load Balancers 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.
@@ -540,13 +525,9 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request,
// Rules are evaluated in priority order, from the lowest value to the highest
// value. When the conditions for a rule are met, its actions are performed.
// If the conditions for no rules are met, the actions for the default rule
-// are performed. For more information, see Listener Rules (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules)
+// are performed. For more information, see Listener rules (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules)
// in the Application Load Balancers Guide.
//
-// To view your current rules, use DescribeRules. To update a rule, use ModifyRule.
-// To set the priorities of your rules, use SetRulePriorities. To delete a rule,
-// use DeleteRule.
-//
// 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.
@@ -671,25 +652,18 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re
//
// Creates a target group.
//
-// To register targets with the target group, use RegisterTargets. To update
-// the health check settings for the target group, use ModifyTargetGroup. To
-// monitor the health of targets in the target group, use DescribeTargetHealth.
+// For more information, see the following:
//
-// To route traffic to the targets in a target group, specify the target group
-// in an action using CreateListener or CreateRule.
+// * Target groups for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
//
-// To delete a target group, use DeleteTargetGroup.
+// * Target groups for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)
+//
+// * Target groups for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html)
//
// This operation is idempotent, which means that it completes at most one time.
// If you attempt to create multiple target groups with the same settings, each
// call succeeds.
//
-// For more information, see Target Groups for Your Application Load Balancers
-// (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html)
-// in the Application Load Balancers Guide or Target Groups for Your Network
-// Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)
-// in the Network Load Balancers 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.
@@ -780,7 +754,7 @@ func (c *ELBV2) DeleteListenerRequest(input *DeleteListenerInput) (req *request.
// Deletes the specified listener.
//
// Alternatively, your listener is deleted when you delete the load balancer
-// to which it is attached, using DeleteLoadBalancer.
+// to which it is attached.
//
// 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
@@ -860,8 +834,8 @@ func (c *ELBV2) DeleteLoadBalancerRequest(input *DeleteLoadBalancerInput) (req *
// DeleteLoadBalancer API operation for Elastic Load Balancing.
//
-// Deletes the specified Application Load Balancer or Network Load Balancer
-// and its attached listeners.
+// Deletes the specified Application Load Balancer, Network Load Balancer, or
+// Gateway Load Balancer. Deleting a load balancer also deletes its listeners.
//
// You can't delete a load balancer if deletion protection is enabled. If the
// load balancer does not exist or has already been deleted, the call succeeds.
@@ -1043,7 +1017,9 @@ func (c *ELBV2) DeleteTargetGroupRequest(input *DeleteTargetGroupInput) (req *re
// Deletes the specified target group.
//
// You can delete a target group if it is not referenced by any actions. Deleting
-// a target group also deletes any associated health checks.
+// a target group also deletes any associated health checks. Deleting a target
+// group does not affect its registered targets. For example, any EC2 instances
+// continue to run until you stop or terminate them.
//
// 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
@@ -1211,10 +1187,13 @@ func (c *ELBV2) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput)
// Describes the current Elastic Load Balancing resource limits for your AWS
// account.
//
-// For more information, see Limits for Your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
-// in the Application Load Balancer Guide or Limits for Your Network Load Balancers
-// (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
-// in the Network Load Balancers Guide.
+// For more information, see the following:
+//
+// * Quotas for your Application Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html)
+//
+// * Quotas for your Network Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html)
+//
+// * Quotas for your Gateway Load Balancers (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html)
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -1295,8 +1274,9 @@ func (c *ELBV2) DescribeListenerCertificatesRequest(input *DescribeListenerCerti
// in the results (once with IsDefault set to true and once with IsDefault set
// to false).
//
-// For more information, see SSL Certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates)
-// in the Application Load Balancers Guide.
+// For more information, see SSL certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates)
+// in the Application Load Balancers Guide or Server certificates (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-listener-certificate)
+// in the Network Load Balancers 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
@@ -1382,12 +1362,8 @@ func (c *ELBV2) DescribeListenersRequest(input *DescribeListenersInput) (req *re
// DescribeListeners API operation for Elastic Load Balancing.
//
// Describes the specified listeners or the listeners for the specified Application
-// Load Balancer or Network Load Balancer. You must specify either a load balancer
-// or one or more listeners.
-//
-// For an HTTPS or TLS listener, the output includes the default certificate
-// for the listener. To describe the certificate list for the listener, use
-// DescribeListenerCertificates.
+// Load Balancer, Network Load Balancer, or Gateway Load Balancer. You must
+// specify either a load balancer or one or more listeners.
//
// 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
@@ -1524,12 +1500,19 @@ func (c *ELBV2) DescribeLoadBalancerAttributesRequest(input *DescribeLoadBalance
// DescribeLoadBalancerAttributes API operation for Elastic Load Balancing.
//
-// Describes the attributes for the specified Application Load Balancer or Network
-// Load Balancer.
+// Describes the attributes for the specified Application Load Balancer, Network
+// Load Balancer, or Gateway Load Balancer.
//
-// For more information, see Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes)
-// in the Application Load Balancers Guide or Load Balancer Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes)
-// in the Network Load Balancers Guide.
+// For more information, see the following:
+//
+// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes)
+// in the Application Load Balancers Guide
+//
+// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes)
+// in the Network Load Balancers Guide
+//
+// * Load balancer attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#load-balancer-attributes)
+// in the Gateway Load Balancers 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
@@ -1616,9 +1599,6 @@ func (c *ELBV2) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput)
//
// Describes the specified load balancers or all of your load balancers.
//
-// To describe the listeners for a load balancer, use DescribeListeners. To
-// describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.
-//
// 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.
@@ -1836,8 +1816,9 @@ func (c *ELBV2) DescribeSSLPoliciesRequest(input *DescribeSSLPoliciesInput) (req
//
// Describes the specified policies or all policies used for SSL negotiation.
//
-// For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
-// in the Application Load Balancers Guide.
+// For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
+// in the Application Load Balancers Guide or Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
+// in the Network Load Balancers 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
@@ -1918,7 +1899,7 @@ func (c *ELBV2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Requ
//
// Describes the tags for the specified Elastic Load Balancing resources. You
// can describe the tags for one or more Application Load Balancers, Network
-// Load Balancers, target groups, listeners, or rules.
+// Load Balancers, Gateway Load Balancers, target groups, listeners, or rules.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -2008,9 +1989,16 @@ func (c *ELBV2) DescribeTargetGroupAttributesRequest(input *DescribeTargetGroupA
//
// Describes the attributes for the specified target group.
//
-// For more information, see Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes)
-// in the Application Load Balancers Guide or Target Group Attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes)
-// in the Network Load Balancers Guide.
+// For more information, see the following:
+//
+// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes)
+// in the Application Load Balancers Guide
+//
+// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes)
+// in the Network Load Balancers Guide
+//
+// * Target group attributes (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes)
+// in the Gateway Load Balancers 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
@@ -2100,9 +2088,6 @@ func (c *ELBV2) DescribeTargetGroupsRequest(input *DescribeTargetGroupsInput) (r
// following to filter the results: the ARN of the load balancer, the names
// of one or more target groups, or the ARNs of one or more target groups.
//
-// To describe the targets for a target group, use DescribeTargetHealth. To
-// describe the attributes of a target group, use DescribeTargetGroupAttributes.
-//
// 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.
@@ -2462,8 +2447,8 @@ func (c *ELBV2) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAtt
// ModifyLoadBalancerAttributes API operation for Elastic Load Balancing.
//
-// Modifies the specified attributes of the specified Application Load Balancer
-// or Network Load Balancer.
+// Modifies the specified attributes of the specified Application Load Balancer,
+// Network Load Balancer, or Gateway Load Balancer.
//
// If any of the specified attributes can't be modified as requested, the call
// fails. Any existing attributes that you do not modify retain their current
@@ -2556,8 +2541,6 @@ func (c *ELBV2) ModifyRuleRequest(input *ModifyRuleInput) (req *request.Request,
// a list, you must provide the entire list. For example, to add an action,
// specify a list with the current actions plus the new action.
//
-// To modify the actions for the default rule, use ModifyListener.
-//
// 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.
@@ -2671,8 +2654,6 @@ func (c *ELBV2) ModifyTargetGroupRequest(input *ModifyTargetGroupInput) (req *re
// Modifies the health checks used when evaluating the health state of the targets
// in the specified target group.
//
-// To monitor the health of the targets, use DescribeTargetHealth.
-//
// 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.
@@ -2851,8 +2832,6 @@ func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *reques
// G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these
// types by IP address.
//
-// To remove a target from a target group, use DeregisterTargets.
-//
// 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.
@@ -2945,11 +2924,6 @@ func (c *ELBV2) RemoveListenerCertificatesRequest(input *RemoveListenerCertifica
// Removes the specified certificate from the certificate list for the specified
// HTTPS or TLS listener.
//
-// You can't remove the default certificate for a listener. To replace the default
-// certificate, call ModifyListener.
-//
-// To list the certificates for your listener, use DescribeListenerCertificates.
-//
// 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.
@@ -3033,9 +3007,7 @@ func (c *ELBV2) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request,
//
// Removes the specified tags from the specified Elastic Load Balancing resources.
// You can remove the tags for one or more Application Load Balancers, Network
-// Load Balancers, target groups, listeners, or rules.
-//
-// To list the current tags for your resources, use DescribeTags.
+// Load Balancers, Gateway Load Balancers, target groups, listeners, or rules.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -3305,7 +3277,8 @@ func (c *ELBV2) SetSecurityGroupsRequest(input *SetSecurityGroupsInput) (req *re
// Balancer. The specified security groups override the previously associated
// security groups.
//
-// You can't specify a security group for a Network Load Balancer.
+// You can't specify a security group for a Network Load Balancer or Gateway
+// Load Balancer.
//
// 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
@@ -3391,7 +3364,8 @@ func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request,
// SetSubnets API operation for Elastic Load Balancing.
//
// Enables the Availability Zones for the specified public subnets for the specified
-// load balancer. The specified subnets replace the previously enabled subnets.
+// Application Load Balancer or Network Load Balancer. The specified subnets
+// replace the previously enabled subnets.
//
// When you specify subnets for a Network Load Balancer, you must include all
// subnets that were enabled previously, with their existing configurations,
@@ -4186,36 +4160,16 @@ type CreateListenerInput struct {
//
// * None
//
- // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
+ // For more information, see ALPN policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
// in the Network Load Balancers Guide.
AlpnPolicy []*string `type:"list"`
// [HTTPS and TLS listeners] The default certificate for the listener. You must
// provide exactly one certificate. Set CertificateArn to the certificate ARN
// but do not set IsDefault.
- //
- // To create a certificate list for the listener, use AddListenerCertificates.
Certificates []*Certificate `type:"list"`
- // The actions for the default rule. The rule must include one forward action
- // or one or more fixed-response actions.
- //
- // If the action type is forward, you specify one or more target groups. The
- // protocol of the target group must be HTTP or HTTPS for an Application Load
- // Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP
- // for a Network Load Balancer.
- //
- // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
+ // The actions for the default rule.
//
// DefaultActions is a required field
DefaultActions []*Action `type:"list" required:"true"`
@@ -4225,41 +4179,21 @@ type CreateListenerInput struct {
// LoadBalancerArn is a required field
LoadBalancerArn *string `type:"string" required:"true"`
- // The port on which the load balancer is listening.
- //
- // Port is a required field
- Port *int64 `min:"1" type:"integer" required:"true"`
+ // The port on which the load balancer is listening. You cannot specify a port
+ // for a Gateway Load Balancer.
+ Port *int64 `min:"1" type:"integer"`
// The protocol for connections from clients to the load balancer. For Application
// Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load
- // Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP.
- //
- // Protocol is a required field
- Protocol *string `type:"string" required:"true" enum:"ProtocolEnum"`
+ // Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You cannot
+ // specify a protocol for a Gateway Load Balancer.
+ Protocol *string `type:"string" enum:"ProtocolEnum"`
// [HTTPS and TLS listeners] The security policy that defines which protocols
- // and ciphers are supported. The following are the possible values:
- //
- // * ELBSecurityPolicy-2016-08
- //
- // * ELBSecurityPolicy-TLS-1-0-2015-04
- //
- // * ELBSecurityPolicy-TLS-1-1-2017-01
- //
- // * ELBSecurityPolicy-TLS-1-2-2017-01
- //
- // * ELBSecurityPolicy-TLS-1-2-Ext-2018-06
- //
- // * ELBSecurityPolicy-FS-2018-06
- //
- // * ELBSecurityPolicy-FS-1-1-2019-08
- //
- // * ELBSecurityPolicy-FS-1-2-2019-08
- //
- // * ELBSecurityPolicy-FS-1-2-Res-2019-08
+ // and ciphers are supported.
//
- // For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
- // in the Application Load Balancers Guide and Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
+ // For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
+ // in the Application Load Balancers Guide and Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
// in the Network Load Balancers Guide.
SslPolicy *string `type:"string"`
@@ -4286,15 +4220,9 @@ func (s *CreateListenerInput) Validate() error {
if s.LoadBalancerArn == nil {
invalidParams.Add(request.NewErrParamRequired("LoadBalancerArn"))
}
- if s.Port == nil {
- invalidParams.Add(request.NewErrParamRequired("Port"))
- }
if s.Port != nil && *s.Port < 1 {
invalidParams.Add(request.NewErrParamMinValue("Port", 1))
}
- if s.Protocol == nil {
- invalidParams.Add(request.NewErrParamRequired("Protocol"))
- }
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
@@ -4429,6 +4357,8 @@ type CreateLoadBalancerInput struct {
// only from clients with access to the VPC for the load balancer.
//
// The default is an Internet-facing load balancer.
+ //
+ // You cannot specify a scheme for a Gateway Load Balancer.
Scheme *string `type:"string" enum:"LoadBalancerSchemeEnum"`
// [Application Load Balancers] The IDs of the security groups for the load
@@ -4451,6 +4381,9 @@ type CreateLoadBalancerInput struct {
// IP addresses for your internet-facing load balancer. For internal load balancers,
// you can specify one private IP address per subnet from the IPv4 range of
// the subnet.
+ //
+ // [Gateway Load Balancers] You can specify subnets from one or more Availability
+ // Zones. You cannot specify Elastic IP addresses for your subnets.
SubnetMappings []*SubnetMapping `type:"list"`
// The IDs of the public subnets. You can specify only one subnet per Availability
@@ -4466,6 +4399,9 @@ type CreateLoadBalancerInput struct {
//
// [Network Load Balancers] You can specify subnets from one or more Availability
// Zones.
+ //
+ // [Gateway Load Balancers] You can specify subnets from one or more Availability
+ // Zones.
Subnets []*string `type:"list"`
// The tags to assign to the load balancer.
@@ -4591,34 +4527,12 @@ func (s *CreateLoadBalancerOutput) SetLoadBalancers(v []*LoadBalancer) *CreateLo
type CreateRuleInput struct {
_ struct{} `type:"structure"`
- // The actions. Each rule must include exactly one of the following types of
- // actions: forward, fixed-response, or redirect, and it must be the last action
- // to be performed.
- //
- // If the action type is forward, you specify one or more target groups. The
- // protocol of the target group must be HTTP or HTTPS for an Application Load
- // Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP
- // for a Network Load Balancer.
- //
- // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
+ // The actions.
//
// Actions is a required field
Actions []*Action `type:"list" required:"true"`
- // The conditions. Each rule can optionally include up to one of each of the
- // following conditions: http-request-method, host-header, path-pattern, and
- // source-ip. Each rule can also optionally include one or more of each of the
- // following conditions: http-header and query-string.
+ // The conditions.
//
// Conditions is a required field
Conditions []*RuleCondition `type:"list" required:"true"`
@@ -4757,44 +4671,49 @@ type CreateTargetGroupInput struct {
HealthCheckEnabled *bool `type:"boolean"`
// The approximate amount of time, in seconds, between health checks of an individual
- // target. For HTTP and HTTPS health checks, the range is 5–300 seconds. For
- // TCP health checks, the supported values are 10 and 30 seconds. If the target
- // type is instance or ip, the default is 30 seconds. If the target type is
+ // target. For TCP health checks, the supported values are 10 and 30 seconds.
+ // If the target type is instance or ip, the default is 30 seconds. If the target
+ // group protocol is GENEVE, the default is 10 seconds. If the target type is
// lambda, the default is 35 seconds.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // [HTTP/HTTPS health checks] The ping path that is the destination on the targets
- // for health checks. The default is /.
+ // [HTTP/HTTPS health checks] The destination for health checks on the targets.
+ //
+ // [HTTP1 or HTTP2 protocol version] The ping path. The default is /.
+ //
+ // [GRPC protocol version] The path of a custom health check method with the
+ // format /package.service/method. The default is /AWS.ALB/healthcheck.
HealthCheckPath *string `min:"1" type:"string"`
// The port the load balancer uses when performing health checks on targets.
- // The default is traffic-port, which is the port on which each target receives
- // traffic from the load balancer.
+ // If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP_UDP, the default is
+ // traffic-port, which is the port on which each target receives traffic from
+ // the load balancer. If the protocol is GENEVE, the default is port 80.
HealthCheckPort *string `type:"string"`
// The protocol the load balancer uses when performing health checks on targets.
- // For Application Load Balancers, the default is HTTP. For Network Load Balancers,
- // the default is TCP. The TCP protocol is supported for health checks only
- // if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS,
- // UDP, and TCP_UDP protocols are not supported for health checks.
+ // For Application Load Balancers, the default is HTTP. For Network Load Balancers
+ // and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported
+ // for health checks if the protocol of the target group is HTTP or HTTPS. The
+ // GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response from a target means
- // a failed health check. For target groups with a protocol of HTTP or HTTPS,
- // the default is 5 seconds. For target groups with a protocol of TCP or TLS,
- // this value must be 6 seconds for HTTP health checks and 10 seconds for TCP
- // and HTTPS health checks. If the target type is lambda, the default is 30
- // seconds.
+ // a failed health check. For target groups with a protocol of HTTP, HTTPS,
+ // or GENEVE, the default is 5 seconds. For target groups with a protocol of
+ // TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds
+ // for TCP and HTTPS health checks. If the target type is lambda, the default
+ // is 30 seconds.
HealthCheckTimeoutSeconds *int64 `min:"2" type:"integer"`
// The number of consecutive health checks successes required before considering
// an unhealthy target healthy. For target groups with a protocol of HTTP or
- // HTTPS, the default is 5. For target groups with a protocol of TCP or TLS,
- // the default is 3. If the target type is lambda, the default is 5.
+ // HTTPS, the default is 5. For target groups with a protocol of TCP, TLS, or
+ // GENEVE, the default is 3. If the target type is lambda, the default is 5.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
- // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
- // response from a target.
+ // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for
+ // a successful response from a target.
Matcher *Matcher `type:"structure"`
// The name of the target group.
@@ -4808,16 +4727,23 @@ type CreateTargetGroupInput struct {
// The port on which the targets receive traffic. This port is used unless you
// specify a port override when registering the target. If the target is a Lambda
- // function, this parameter does not apply.
+ // function, this parameter does not apply. If the protocol is GENEVE, the supported
+ // port is 6081.
Port *int64 `min:"1" type:"integer"`
// The protocol to use for routing traffic to the targets. For Application Load
// Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers,
- // the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener
- // must be associated with a TCP_UDP target group. If the target is a Lambda
- // function, this parameter does not apply.
+ // the supported protocols are TCP, TLS, UDP, or TCP_UDP. For Gateway Load Balancers,
+ // the supported protocol is GENEVE. A TCP_UDP listener must be associated with
+ // a TCP_UDP target group. If the target is a Lambda function, this parameter
+ // does not apply.
Protocol *string `type:"string" enum:"ProtocolEnum"`
+ // [HTTP/HTTPS protocol] The protocol version. Specify GRPC to send requests
+ // to targets using gRPC. Specify HTTP2 to send requests to targets using HTTP/2.
+ // The default is HTTP1, which sends requests to targets using HTTP/1.1.
+ ProtocolVersion *string `type:"string"`
+
// The tags to assign to the target group.
Tags []*Tag `min:"1" type:"list"`
@@ -4825,23 +4751,22 @@ type CreateTargetGroupInput struct {
// target group. You can't specify targets for a target group using more than
// one target type.
//
- // * instance - Targets are specified by instance ID. This is the default
- // value.
+ // * instance - Register targets by instance ID. This is the default value.
//
- // * ip - Targets are specified by IP address. You can specify IP addresses
- // from the subnets of the virtual private cloud (VPC) for the target group,
- // the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and
- // the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable
- // IP addresses.
+ // * ip - Register targets by IP address. You can specify IP addresses from
+ // the subnets of the virtual private cloud (VPC) for the target group, the
+ // RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the
+ // RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP
+ // addresses.
//
- // * lambda - The target groups contains a single Lambda function.
+ // * lambda - Register a single Lambda function as a target.
TargetType *string `type:"string" enum:"TargetTypeEnum"`
// The number of consecutive health check failures required before considering
- // a target unhealthy. For target groups with a protocol of HTTP or HTTPS, the
- // default is 2. For target groups with a protocol of TCP or TLS, this value
- // must be the same as the healthy threshold count. If the target type is lambda,
- // the default is 2.
+ // a target unhealthy. If the target group protocol is HTTP or HTTPS, the default
+ // is 2. If the target group protocol is TCP or TLS, this value must be the
+ // same as the healthy threshold count. If the target group protocol is GENEVE,
+ // the default is 3. If the target type is lambda, the default is 2.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
// The identifier of the virtual private cloud (VPC). If the target is a Lambda
@@ -4886,11 +4811,6 @@ func (s *CreateTargetGroupInput) Validate() error {
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
}
- if s.Matcher != nil {
- if err := s.Matcher.Validate(); err != nil {
- invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
- }
- }
if s.Tags != nil {
for i, v := range s.Tags {
if v == nil {
@@ -4974,6 +4894,12 @@ func (s *CreateTargetGroupInput) SetProtocol(v string) *CreateTargetGroupInput {
return s
}
+// SetProtocolVersion sets the ProtocolVersion field's value.
+func (s *CreateTargetGroupInput) SetProtocolVersion(v string) *CreateTargetGroupInput {
+ s.ProtocolVersion = &v
+ return s
+}
+
// SetTags sets the Tags field's value.
func (s *CreateTargetGroupInput) SetTags(v []*Tag) *CreateTargetGroupInput {
s.Tags = v
@@ -6449,6 +6375,16 @@ type Limit struct {
//
// * application-load-balancers
//
+ // * condition-values-per-alb-rule
+ //
+ // * condition-wildcards-per-alb-rule
+ //
+ // * gateway-load-balancers
+ //
+ // * gateway-load-balancers-per-vpc
+ //
+ // * geneve-target-groups
+ //
// * listeners-per-application-load-balancer
//
// * listeners-per-network-load-balancer
@@ -6467,6 +6403,8 @@ type Limit struct {
//
// * targets-per-application-load-balancer
//
+ // * targets-per-availability-zone-per-gateway-load-balancer
+ //
// * targets-per-availability-zone-per-network-load-balancer
//
// * targets-per-network-load-balancer
@@ -6776,6 +6714,11 @@ type LoadBalancerAttribute struct {
// The name of the attribute.
//
+ // The following attribute is supported by all load balancers:
+ //
+ // * deletion_protection.enabled - Indicates whether deletion protection
+ // is enabled. The value is true or false. The default is false.
+ //
// The following attributes are supported by both Application Load Balancers
// and Network Load Balancers:
//
@@ -6790,9 +6733,6 @@ type LoadBalancerAttribute struct {
// * access_logs.s3.prefix - The prefix for the location in the S3 bucket
// for the access logs.
//
- // * deletion_protection.enabled - Indicates whether deletion protection
- // is enabled. The value is true or false. The default is false.
- //
// The following attributes are supported by only Application Load Balancers:
//
// * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The
@@ -6811,7 +6751,8 @@ type LoadBalancerAttribute struct {
// is true or false. The default is true. Elastic Load Balancing requires
// that message header names contain only alphanumeric characters and hyphens.
//
- // The following attributes are supported by only Network Load Balancers:
+ // The following attribute is supported by Network Load Balancers and Gateway
+ // Load Balancers:
//
// * load_balancing.cross_zone.enabled - Indicates whether cross-zone load
// balancing is enabled. The value is true or false. The default is false.
@@ -6878,20 +6819,23 @@ func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
return s
}
-// Information to use when checking for a successful response from a target.
+// The codes to use when checking for a successful response from a target. If
+// the protocol version is gRPC, these are gRPC codes. Otherwise, these are
+// HTTP codes.
type Matcher struct {
_ struct{} `type:"structure"`
- // The HTTP codes.
- //
+ // You can specify values between 0 and 99. You can specify multiple values
+ // (for example, "0,1") or a range of values (for example, "0-5"). The default
+ // value is 12.
+ GrpcCode *string `type:"string"`
+
// For Application Load Balancers, you can specify values between 200 and 499,
// and the default value is 200. You can specify multiple values (for example,
// "200,202") or a range of values (for example, "200-299").
//
- // For Network Load Balancers, this is 200–399.
- //
- // HttpCode is a required field
- HttpCode *string `type:"string" required:"true"`
+ // For Network Load Balancers and Gateway Load Balancers, this must be "200–399".
+ HttpCode *string `type:"string"`
}
// String returns the string representation
@@ -6904,17 +6848,10 @@ func (s Matcher) GoString() string {
return s.String()
}
-// Validate inspects the fields of the type to determine if they are valid.
-func (s *Matcher) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Matcher"}
- if s.HttpCode == nil {
- invalidParams.Add(request.NewErrParamRequired("HttpCode"))
- }
-
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
+// SetGrpcCode sets the GrpcCode field's value.
+func (s *Matcher) SetGrpcCode(v string) *Matcher {
+ s.GrpcCode = &v
+ return s
}
// SetHttpCode sets the HttpCode field's value.
@@ -6939,36 +6876,16 @@ type ModifyListenerInput struct {
//
// * None
//
- // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
+ // For more information, see ALPN policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies)
// in the Network Load Balancers Guide.
AlpnPolicy []*string `type:"list"`
// [HTTPS and TLS listeners] The default certificate for the listener. You must
// provide exactly one certificate. Set CertificateArn to the certificate ARN
// but do not set IsDefault.
- //
- // To create a certificate list, use AddListenerCertificates.
Certificates []*Certificate `type:"list"`
- // The actions for the default rule. The rule must include one forward action
- // or one or more fixed-response actions.
- //
- // If the action type is forward, you specify one or more target groups. The
- // protocol of the target group must be HTTP or HTTPS for an Application Load
- // Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP
- // for a Network Load Balancer.
- //
- // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
+ // The actions for the default rule.
DefaultActions []*Action `type:"list"`
// The Amazon Resource Name (ARN) of the listener.
@@ -6976,37 +6893,21 @@ type ModifyListenerInput struct {
// ListenerArn is a required field
ListenerArn *string `type:"string" required:"true"`
- // The port for connections from clients to the load balancer.
+ // The port for connections from clients to the load balancer. You cannot specify
+ // a port for a Gateway Load Balancer.
Port *int64 `min:"1" type:"integer"`
// The protocol for connections from clients to the load balancer. Application
// Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers
- // support the TCP, TLS, UDP, and TCP_UDP protocols.
+ // support the TCP, TLS, UDP, and TCP_UDP protocols. You cannot specify a protocol
+ // for a Gateway Load Balancer.
Protocol *string `type:"string" enum:"ProtocolEnum"`
// [HTTPS and TLS listeners] The security policy that defines which protocols
- // and ciphers are supported. The following are the possible values:
- //
- // * ELBSecurityPolicy-2016-08
- //
- // * ELBSecurityPolicy-TLS-1-0-2015-04
- //
- // * ELBSecurityPolicy-TLS-1-1-2017-01
- //
- // * ELBSecurityPolicy-TLS-1-2-2017-01
- //
- // * ELBSecurityPolicy-TLS-1-2-Ext-2018-06
- //
- // * ELBSecurityPolicy-FS-2018-06
- //
- // * ELBSecurityPolicy-FS-1-1-2019-08
- //
- // * ELBSecurityPolicy-FS-1-2-2019-08
- //
- // * ELBSecurityPolicy-FS-1-2-Res-2019-08
+ // and ciphers are supported.
//
- // For more information, see Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
- // in the Application Load Balancers Guide and Security Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
+ // For more information, see Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies)
+ // in the Application Load Balancers Guide or Security policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies)
// in the Network Load Balancers Guide.
SslPolicy *string `type:"string"`
}
@@ -7190,31 +7091,10 @@ func (s *ModifyLoadBalancerAttributesOutput) SetAttributes(v []*LoadBalancerAttr
type ModifyRuleInput struct {
_ struct{} `type:"structure"`
- // The actions. Each rule must include exactly one of the following types of
- // actions: forward, fixed-response, or redirect, and it must be the last action
- // to be performed.
- //
- // If the action type is forward, you specify one or more target groups. The
- // protocol of the target group must be HTTP or HTTPS for an Application Load
- // Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP
- // for a Network Load Balancer.
- //
- // [HTTPS listeners] If the action type is authenticate-oidc, you authenticate
- // users through an identity provider that is OpenID Connect (OIDC) compliant.
- //
- // [HTTPS listeners] If the action type is authenticate-cognito, you authenticate
- // users through the user pools supported by Amazon Cognito.
- //
- // [Application Load Balancer] If the action type is redirect, you redirect
- // specified client requests from one URL to another.
- //
- // [Application Load Balancer] If the action type is fixed-response, you drop
- // specified client requests and return a custom HTTP response.
+ // The actions.
Actions []*Action `type:"list"`
- // The conditions. Each rule can include zero or one of the following conditions:
- // http-request-method, host-header, path-pattern, and source-ip, and zero or
- // more of the following conditions: http-header and query-string.
+ // The conditions.
Conditions []*RuleCondition `type:"list"`
// The Amazon Resource Name (ARN) of the rule.
@@ -7379,14 +7259,17 @@ type ModifyTargetGroupInput struct {
HealthCheckEnabled *bool `type:"boolean"`
// The approximate amount of time, in seconds, between health checks of an individual
- // target. For Application Load Balancers, the range is 5 to 300 seconds. For
- // Network Load Balancers, the supported values are 10 or 30 seconds.
+ // target. For TCP health checks, the supported values are 10 or 30 seconds.
//
// With Network Load Balancers, you can't modify this setting.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // [HTTP/HTTPS health checks] The ping path that is the destination for the
- // health check request.
+ // [HTTP/HTTPS health checks] The destination for health checks on the targets.
+ //
+ // [HTTP1 or HTTP2 protocol version] The ping path. The default is /.
+ //
+ // [GRPC protocol version] The path of a custom health check method with the
+ // format /package.service/method. The default is /AWS.ALB/healthcheck.
HealthCheckPath *string `min:"1" type:"string"`
// The port the load balancer uses when performing health checks on targets.
@@ -7394,8 +7277,8 @@ type ModifyTargetGroupInput struct {
// The protocol the load balancer uses when performing health checks on targets.
// The TCP protocol is supported for health checks only if the protocol of the
- // target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols
- // are not supported for health checks.
+ // target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP
+ // protocols are not supported for health checks.
//
// With Network Load Balancers, you can't modify this setting.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
@@ -7410,10 +7293,8 @@ type ModifyTargetGroupInput struct {
// an unhealthy target healthy.
HealthyThresholdCount *int64 `min:"2" type:"integer"`
- // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful
- // response from a target. The possible values are from 200 to 499. You can
- // specify multiple values (for example, "200,202") or a range of values (for
- // example, "200-299"). The default is 200.
+ // [HTTP/HTTPS health checks] The HTTP or gRPC codes to use when checking for
+ // a successful response from a target.
//
// With Network Load Balancers, you can't modify this setting.
Matcher *Matcher `type:"structure"`
@@ -7424,8 +7305,8 @@ type ModifyTargetGroupInput struct {
TargetGroupArn *string `type:"string" required:"true"`
// The number of consecutive health check failures required before considering
- // the target unhealthy. For Network Load Balancers, this value must be the
- // same as the healthy threshold count.
+ // the target unhealthy. For target groups with a protocol of TCP or TLS, this
+ // value must be the same as the healthy threshold count.
UnhealthyThresholdCount *int64 `min:"2" type:"integer"`
}
@@ -7460,11 +7341,6 @@ func (s *ModifyTargetGroupInput) Validate() error {
if s.UnhealthyThresholdCount != nil && *s.UnhealthyThresholdCount < 2 {
invalidParams.Add(request.NewErrParamMinValue("UnhealthyThresholdCount", 2))
}
- if s.Matcher != nil {
- if err := s.Matcher.Validate(); err != nil {
- invalidParams.AddNested("Matcher", err.(request.ErrInvalidParams))
- }
- }
if invalidParams.Len() > 0 {
return invalidParams
@@ -7784,10 +7660,6 @@ type RegisterTargetsInput struct {
// The targets.
//
- // To register a target by instance ID, specify the instance ID. To register
- // a target by IP address, specify the IP address. To register a Lambda function,
- // specify the ARN of the Lambda function.
- //
// Targets is a required field
Targets []*TargetDescription `type:"list" required:"true"`
}
@@ -8236,7 +8108,7 @@ type SetIpAddressTypeInput struct {
// The IP address type. The possible values are ipv4 (for IPv4 addresses) and
// dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use
- // ipv4. Network Load Balancers must use ipv4.
+ // ipv4.
//
// IpAddressType is a required field
IpAddressType *string `type:"string" required:"true" enum:"IpAddressType"`
@@ -8778,8 +8650,8 @@ type TargetDescription struct {
// Id is a required field
Id *string `type:"string" required:"true"`
- // The port on which the target is listening. Not used if the target is a Lambda
- // function.
+ // The port on which the target is listening. If the target group protocol is
+ // GENEVE, the supported port is 6081. Not used if the target is a Lambda function.
Port *int64 `min:"1" type:"integer"`
}
@@ -8838,13 +8710,14 @@ type TargetGroup struct {
// target.
HealthCheckIntervalSeconds *int64 `min:"5" type:"integer"`
- // The destination for the health check request.
+ // The destination for health checks on the targets.
HealthCheckPath *string `min:"1" type:"string"`
// The port to use to connect with the target.
HealthCheckPort *string `type:"string"`
- // The protocol to use to connect with the target.
+ // The protocol to use to connect with the target. The GENEVE, TLS, UDP, and
+ // TCP_UDP protocols are not supported for health checks.
HealthCheckProtocol *string `type:"string" enum:"ProtocolEnum"`
// The amount of time, in seconds, during which no response means a failed health
@@ -8859,7 +8732,8 @@ type TargetGroup struct {
// to this target group.
LoadBalancerArns []*string `type:"list"`
- // The HTTP codes to use when checking for a successful response from a target.
+ // The HTTP or gRPC codes to use when checking for a successful response from
+ // a target.
Matcher *Matcher `type:"structure"`
// The port on which the targets are listening. Not used if the target is a
@@ -8869,6 +8743,10 @@ type TargetGroup struct {
// The protocol to use for routing traffic to the targets.
Protocol *string `type:"string" enum:"ProtocolEnum"`
+ // [HTTP/HTTPS protocol] The protocol version. The possible values are GRPC,
+ // HTTP1, and HTTP2.
+ ProtocolVersion *string `type:"string"`
+
// The Amazon Resource Name (ARN) of the target group.
TargetGroupArn *string `type:"string"`
@@ -8876,8 +8754,9 @@ type TargetGroup struct {
TargetGroupName *string `type:"string"`
// The type of target that you must specify when registering targets with this
- // target group. The possible values are instance (targets are specified by
- // instance ID) or ip (targets are specified by IP address).
+ // target group. The possible values are instance (register targets by instance
+ // ID), ip (register targets by IP address), or lambda (register a single Lambda
+ // function as a target).
TargetType *string `type:"string" enum:"TargetTypeEnum"`
// The number of consecutive health check failures required before considering
@@ -8964,6 +8843,12 @@ func (s *TargetGroup) SetProtocol(v string) *TargetGroup {
return s
}
+// SetProtocolVersion sets the ProtocolVersion field's value.
+func (s *TargetGroup) SetProtocolVersion(v string) *TargetGroup {
+ s.ProtocolVersion = &v
+ return s
+}
+
// SetTargetGroupArn sets the TargetGroupArn field's value.
func (s *TargetGroup) SetTargetGroupArn(v string) *TargetGroup {
s.TargetGroupArn = &v
@@ -9000,8 +8885,7 @@ type TargetGroupAttribute struct {
// The name of the attribute.
//
- // The following attributes are supported by both Application Load Balancers
- // and Network Load Balancers:
+ // The following attribute is supported by all load balancers:
//
// * deregistration_delay.timeout_seconds - The amount of time, in seconds,
// for Elastic Load Balancing to wait before changing the state of a deregistering
@@ -9009,6 +8893,9 @@ type TargetGroupAttribute struct {
// value is 300 seconds. If the target is a Lambda function, this attribute
// is not supported.
//
+ // The following attributes are supported by both Application Load Balancers
+ // and Network Load Balancers:
+ //
// * stickiness.enabled - Indicates whether sticky sessions are enabled.
// The value is true or false. The default is false.
//
@@ -9170,10 +9057,11 @@ type TargetHealth struct {
// values:
//
// * Target.ResponseCodeMismatch - The health checks did not return an expected
- // HTTP code. Applies only to Application Load Balancers.
+ // HTTP code. Applies only to Application Load Balancers and Gateway Load
+ // Balancers.
//
// * Target.Timeout - The health check requests timed out. Applies only to
- // Application Load Balancers.
+ // Application Load Balancers and Gateway Load Balancers.
//
// * Target.FailedHealthChecks - The load balancer received an error while
// establishing a connection to the target or the target response was malformed.
@@ -9415,6 +9303,9 @@ const (
// LoadBalancerTypeEnumNetwork is a LoadBalancerTypeEnum enum value
LoadBalancerTypeEnumNetwork = "network"
+
+ // LoadBalancerTypeEnumGateway is a LoadBalancerTypeEnum enum value
+ LoadBalancerTypeEnumGateway = "gateway"
)
// LoadBalancerTypeEnum_Values returns all elements of the LoadBalancerTypeEnum enum
@@ -9422,6 +9313,7 @@ func LoadBalancerTypeEnum_Values() []string {
return []string{
LoadBalancerTypeEnumApplication,
LoadBalancerTypeEnumNetwork,
+ LoadBalancerTypeEnumGateway,
}
}
@@ -9443,6 +9335,9 @@ const (
// ProtocolEnumTcpUdp is a ProtocolEnum enum value
ProtocolEnumTcpUdp = "TCP_UDP"
+
+ // ProtocolEnumGeneve is a ProtocolEnum enum value
+ ProtocolEnumGeneve = "GENEVE"
)
// ProtocolEnum_Values returns all elements of the ProtocolEnum enum
@@ -9454,6 +9349,7 @@ func ProtocolEnum_Values() []string {
ProtocolEnumTls,
ProtocolEnumUdp,
ProtocolEnumTcpUdp,
+ ProtocolEnumGeneve,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go
index 9a67fe299..e542d15bc 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/doc.go
@@ -15,16 +15,18 @@
// the targets.
//
// Elastic Load Balancing supports the following types of load balancers: Application
-// Load Balancers, Network Load Balancers, and Classic Load Balancers. This
-// reference covers Application Load Balancers and Network Load Balancers.
-//
-// An Application Load Balancer makes routing and load balancing decisions at
-// the application layer (HTTP/HTTPS). A Network Load Balancer makes routing
-// and load balancing decisions at the transport layer (TCP/TLS). Both Application
-// Load Balancers and Network Load Balancers can route requests to one or more
-// ports on each EC2 instance or container instance in your virtual private
-// cloud (VPC). For more information, see the Elastic Load Balancing User Guide
-// (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
+// Load Balancers, Network Load Balancers, Gateway Load Balancers, and Classic
+// Load Balancers. This reference covers the following load balancer types:
+//
+// * Application Load Balancer - Operates at the application layer (layer
+// 7) and supports HTTP and HTTPS.
+//
+// * Network Load Balancer - Operates at the transport layer (layer 4) and
+// supports TCP, TLS, and UDP.
+//
+// * Gateway Load Balancer - Operates at the network layer (layer 3).
+//
+// For more information, see the Elastic Load Balancing User Guide (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/).
//
// All Elastic Load Balancing operations are idempotent, which means that they
// complete at most one time. If you repeat an operation, it succeeds.
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 bcf7f0344..2ab5d1dad 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
@@ -1212,6 +1212,106 @@ func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBuc
return out, req.Send()
}
+const opDeleteBucketIntelligentTieringConfiguration = "DeleteBucketIntelligentTieringConfiguration"
+
+// DeleteBucketIntelligentTieringConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteBucketIntelligentTieringConfiguration 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 DeleteBucketIntelligentTieringConfiguration for more information on using the DeleteBucketIntelligentTieringConfiguration
+// 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 DeleteBucketIntelligentTieringConfigurationRequest method.
+// req, resp := client.DeleteBucketIntelligentTieringConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration
+func (c *S3) DeleteBucketIntelligentTieringConfigurationRequest(input *DeleteBucketIntelligentTieringConfigurationInput) (req *request.Request, output *DeleteBucketIntelligentTieringConfigurationOutput) {
+ op := &request.Operation{
+ Name: opDeleteBucketIntelligentTieringConfiguration,
+ HTTPMethod: "DELETE",
+ HTTPPath: "/{Bucket}?intelligent-tiering",
+ }
+
+ if input == nil {
+ input = &DeleteBucketIntelligentTieringConfigurationInput{}
+ }
+
+ output = &DeleteBucketIntelligentTieringConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// DeleteBucketIntelligentTieringConfiguration API operation for Amazon Simple Storage Service.
+//
+// Deletes the S3 Intelligent-Tiering configuration from the specified bucket.
+//
+// The S3 Intelligent-Tiering storage class is designed to optimize storage
+// costs by automatically moving data to the most cost-effective storage access
+// tier, without additional operational overhead. S3 Intelligent-Tiering delivers
+// automatic cost savings by moving data between access tiers, when access patterns
+// change.
+//
+// The S3 Intelligent-Tiering storage class is suitable for objects larger than
+// 128 KB that you plan to store for at least 30 days. If the size of an object
+// is less than 128 KB, it is not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the frequent access tier rates
+// in the S3 Intelligent-Tiering storage class.
+//
+// If you delete an object before the end of the 30-day minimum storage duration
+// period, you are charged for 30 days. For more information, see Storage class
+// for automatically optimizing frequently and infrequently accessed objects
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
+//
+// Operations related to DeleteBucketIntelligentTieringConfiguration include:
+//
+// * GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)
+//
+// * PutBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)
+//
+// * ListBucketIntelligentTieringConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation DeleteBucketIntelligentTieringConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration
+func (c *S3) DeleteBucketIntelligentTieringConfiguration(input *DeleteBucketIntelligentTieringConfigurationInput) (*DeleteBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.DeleteBucketIntelligentTieringConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// DeleteBucketIntelligentTieringConfigurationWithContext is the same as DeleteBucketIntelligentTieringConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketIntelligentTieringConfiguration 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 *S3) DeleteBucketIntelligentTieringConfigurationWithContext(ctx aws.Context, input *DeleteBucketIntelligentTieringConfigurationInput, opts ...request.Option) (*DeleteBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.DeleteBucketIntelligentTieringConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
@@ -2798,6 +2898,105 @@ func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEnc
return out, req.Send()
}
+const opGetBucketIntelligentTieringConfiguration = "GetBucketIntelligentTieringConfiguration"
+
+// GetBucketIntelligentTieringConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the GetBucketIntelligentTieringConfiguration 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 GetBucketIntelligentTieringConfiguration for more information on using the GetBucketIntelligentTieringConfiguration
+// 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 GetBucketIntelligentTieringConfigurationRequest method.
+// req, resp := client.GetBucketIntelligentTieringConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration
+func (c *S3) GetBucketIntelligentTieringConfigurationRequest(input *GetBucketIntelligentTieringConfigurationInput) (req *request.Request, output *GetBucketIntelligentTieringConfigurationOutput) {
+ op := &request.Operation{
+ Name: opGetBucketIntelligentTieringConfiguration,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?intelligent-tiering",
+ }
+
+ if input == nil {
+ input = &GetBucketIntelligentTieringConfigurationInput{}
+ }
+
+ output = &GetBucketIntelligentTieringConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetBucketIntelligentTieringConfiguration API operation for Amazon Simple Storage Service.
+//
+// Gets the S3 Intelligent-Tiering configuration from the specified bucket.
+//
+// The S3 Intelligent-Tiering storage class is designed to optimize storage
+// costs by automatically moving data to the most cost-effective storage access
+// tier, without additional operational overhead. S3 Intelligent-Tiering delivers
+// automatic cost savings by moving data between access tiers, when access patterns
+// change.
+//
+// The S3 Intelligent-Tiering storage class is suitable for objects larger than
+// 128 KB that you plan to store for at least 30 days. If the size of an object
+// is less than 128 KB, it is not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the frequent access tier rates
+// in the S3 Intelligent-Tiering storage class.
+//
+// If you delete an object before the end of the 30-day minimum storage duration
+// period, you are charged for 30 days. For more information, see Storage class
+// for automatically optimizing frequently and infrequently accessed objects
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
+//
+// Operations related to GetBucketIntelligentTieringConfiguration include:
+//
+// * DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)
+//
+// * PutBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)
+//
+// * ListBucketIntelligentTieringConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetBucketIntelligentTieringConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration
+func (c *S3) GetBucketIntelligentTieringConfiguration(input *GetBucketIntelligentTieringConfigurationInput) (*GetBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.GetBucketIntelligentTieringConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// GetBucketIntelligentTieringConfigurationWithContext is the same as GetBucketIntelligentTieringConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketIntelligentTieringConfiguration 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 *S3) GetBucketIntelligentTieringConfigurationWithContext(ctx aws.Context, input *GetBucketIntelligentTieringConfigurationInput, opts ...request.Option) (*GetBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.GetBucketIntelligentTieringConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
@@ -4314,9 +4513,10 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
// For more information about returning the ACL of an object, see GetObjectAcl
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html).
//
-// If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE
-// storage classes, before you can retrieve the object you must first restore
-// a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html).
+// If the object you are retrieving is stored in the S3 Glacier, S3 Glacier
+// Deep Archive, S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep
+// Archive storage classes, before you can retrieve the object you must first
+// restore a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html).
// Otherwise, this operation returns an InvalidObjectStateError error. For information
// about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html).
//
@@ -4429,6 +4629,9 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
// * ErrCodeNoSuchKey "NoSuchKey"
// The specified key does not exist.
//
+// * ErrCodeInvalidObjectState "InvalidObjectState"
+// Object is archived and inaccessible until restored.
+//
// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
req, out := c.GetObjectRequest(input)
@@ -5379,6 +5582,105 @@ func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input
return out, req.Send()
}
+const opListBucketIntelligentTieringConfigurations = "ListBucketIntelligentTieringConfigurations"
+
+// ListBucketIntelligentTieringConfigurationsRequest generates a "aws/request.Request" representing the
+// client's request for the ListBucketIntelligentTieringConfigurations 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 ListBucketIntelligentTieringConfigurations for more information on using the ListBucketIntelligentTieringConfigurations
+// 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 ListBucketIntelligentTieringConfigurationsRequest method.
+// req, resp := client.ListBucketIntelligentTieringConfigurationsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations
+func (c *S3) ListBucketIntelligentTieringConfigurationsRequest(input *ListBucketIntelligentTieringConfigurationsInput) (req *request.Request, output *ListBucketIntelligentTieringConfigurationsOutput) {
+ op := &request.Operation{
+ Name: opListBucketIntelligentTieringConfigurations,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}?intelligent-tiering",
+ }
+
+ if input == nil {
+ input = &ListBucketIntelligentTieringConfigurationsInput{}
+ }
+
+ output = &ListBucketIntelligentTieringConfigurationsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// ListBucketIntelligentTieringConfigurations API operation for Amazon Simple Storage Service.
+//
+// Lists the S3 Intelligent-Tiering configuration from the specified bucket.
+//
+// The S3 Intelligent-Tiering storage class is designed to optimize storage
+// costs by automatically moving data to the most cost-effective storage access
+// tier, without additional operational overhead. S3 Intelligent-Tiering delivers
+// automatic cost savings by moving data between access tiers, when access patterns
+// change.
+//
+// The S3 Intelligent-Tiering storage class is suitable for objects larger than
+// 128 KB that you plan to store for at least 30 days. If the size of an object
+// is less than 128 KB, it is not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the frequent access tier rates
+// in the S3 Intelligent-Tiering storage class.
+//
+// If you delete an object before the end of the 30-day minimum storage duration
+// period, you are charged for 30 days. For more information, see Storage class
+// for automatically optimizing frequently and infrequently accessed objects
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
+//
+// Operations related to ListBucketIntelligentTieringConfigurations include:
+//
+// * DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)
+//
+// * PutBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)
+//
+// * GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation ListBucketIntelligentTieringConfigurations for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations
+func (c *S3) ListBucketIntelligentTieringConfigurations(input *ListBucketIntelligentTieringConfigurationsInput) (*ListBucketIntelligentTieringConfigurationsOutput, error) {
+ req, out := c.ListBucketIntelligentTieringConfigurationsRequest(input)
+ return out, req.Send()
+}
+
+// ListBucketIntelligentTieringConfigurationsWithContext is the same as ListBucketIntelligentTieringConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketIntelligentTieringConfigurations 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 *S3) ListBucketIntelligentTieringConfigurationsWithContext(ctx aws.Context, input *ListBucketIntelligentTieringConfigurationsInput, opts ...request.Option) (*ListBucketIntelligentTieringConfigurationsOutput, error) {
+ req, out := c.ListBucketIntelligentTieringConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
@@ -7066,6 +7368,106 @@ func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEnc
return out, req.Send()
}
+const opPutBucketIntelligentTieringConfiguration = "PutBucketIntelligentTieringConfiguration"
+
+// PutBucketIntelligentTieringConfigurationRequest generates a "aws/request.Request" representing the
+// client's request for the PutBucketIntelligentTieringConfiguration 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 PutBucketIntelligentTieringConfiguration for more information on using the PutBucketIntelligentTieringConfiguration
+// 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 PutBucketIntelligentTieringConfigurationRequest method.
+// req, resp := client.PutBucketIntelligentTieringConfigurationRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration
+func (c *S3) PutBucketIntelligentTieringConfigurationRequest(input *PutBucketIntelligentTieringConfigurationInput) (req *request.Request, output *PutBucketIntelligentTieringConfigurationOutput) {
+ op := &request.Operation{
+ Name: opPutBucketIntelligentTieringConfiguration,
+ HTTPMethod: "PUT",
+ HTTPPath: "/{Bucket}?intelligent-tiering",
+ }
+
+ if input == nil {
+ input = &PutBucketIntelligentTieringConfigurationInput{}
+ }
+
+ output = &PutBucketIntelligentTieringConfigurationOutput{}
+ req = c.newRequest(op, input, output)
+ req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
+ return
+}
+
+// PutBucketIntelligentTieringConfiguration API operation for Amazon Simple Storage Service.
+//
+// Puts a S3 Intelligent-Tiering configuration to the specified bucket.
+//
+// The S3 Intelligent-Tiering storage class is designed to optimize storage
+// costs by automatically moving data to the most cost-effective storage access
+// tier, without additional operational overhead. S3 Intelligent-Tiering delivers
+// automatic cost savings by moving data between access tiers, when access patterns
+// change.
+//
+// The S3 Intelligent-Tiering storage class is suitable for objects larger than
+// 128 KB that you plan to store for at least 30 days. If the size of an object
+// is less than 128 KB, it is not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the frequent access tier rates
+// in the S3 Intelligent-Tiering storage class.
+//
+// If you delete an object before the end of the 30-day minimum storage duration
+// period, you are charged for 30 days. For more information, see Storage class
+// for automatically optimizing frequently and infrequently accessed objects
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
+//
+// Operations related to PutBucketIntelligentTieringConfiguration include:
+//
+// * DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)
+//
+// * GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)
+//
+// * ListBucketIntelligentTieringConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation PutBucketIntelligentTieringConfiguration for usage and error information.
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration
+func (c *S3) PutBucketIntelligentTieringConfiguration(input *PutBucketIntelligentTieringConfigurationInput) (*PutBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.PutBucketIntelligentTieringConfigurationRequest(input)
+ return out, req.Send()
+}
+
+// PutBucketIntelligentTieringConfigurationWithContext is the same as PutBucketIntelligentTieringConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketIntelligentTieringConfiguration 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 *S3) PutBucketIntelligentTieringConfigurationWithContext(ctx aws.Context, input *PutBucketIntelligentTieringConfigurationInput, opts ...request.Option) (*PutBucketIntelligentTieringConfigurationOutput, error) {
+ req, out := c.PutBucketIntelligentTieringConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
@@ -7950,14 +8352,14 @@ func (c *S3) PutBucketOwnershipControlsRequest(input *PutBucketOwnershipControls
// PutBucketOwnershipControls API operation for Amazon Simple Storage Service.
//
// Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this
-// operation, you must have the s3:GetBucketOwnershipControls permission. For
+// operation, you must have the s3:PutBucketOwnershipControls 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).
//
// For information about Amazon S3 Object Ownership, see Using Object Ownership
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).
//
-// The following operations are related to GetBucketOwnershipControls:
+// The following operations are related to PutBucketOwnershipControls:
//
// * GetBucketOwnershipControls
//
@@ -9599,58 +10001,56 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//
// Restoring Archives
//
-// Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To
-// access an archived object, you must first initiate a restore request. This
-// restores a temporary copy of the archived object. In a restore request, you
-// specify the number of days that you want the restored copy to exist. After
-// the specified period, Amazon S3 deletes the temporary copy but the object
-// remains archived in the GLACIER or DEEP_ARCHIVE storage class that object
-// was restored from.
+// Objects that you archive to the S3 Glacier, S3 Glacier Deep Archive, S3 Intelligent-Tiering
+// Archive, or S3 Intelligent-Tiering Deep Archive storage classes are not accessible
+// in real time. For objects in Archive Access tier or Deep Archive Access tier
+// you must first initiate a restore request, and then wait until the object
+// is moved into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier
+// Deep Archive you must first initiate a restore request, and then wait until
+// a temporary copy of the object is available. To access an archived object,
+// you must restore the object for the duration (number of days) that you specify.
//
// To restore a specific object version, you can provide a version ID. If you
// don't provide a version ID, Amazon S3 restores the current version.
//
-// The time it takes restore jobs to finish depends on which storage class the
-// object is being restored from and which data access tier you specify.
-//
// When restoring an archived object (or using a select request), you can specify
// one of the following data access tier options in the Tier element of the
// request body:
//
// * Expedited - Expedited retrievals allow you to quickly access your data
-// stored in the GLACIER storage class when occasional urgent requests for
-// a subset of archives are required. For all but the largest archived objects
-// (250 MB+), data accessed using Expedited retrievals are typically made
-// available within 1–5 minutes. Provisioned capacity ensures that retrieval
-// capacity for Expedited retrievals is available when you need it. Expedited
-// retrievals and provisioned capacity are not available for the DEEP_ARCHIVE
-// storage class.
-//
-// * Standard - S3 Standard retrievals allow you to access any of your archived
-// objects within several hours. This is the default option for the GLACIER
-// and DEEP_ARCHIVE retrieval requests that do not specify the retrieval
-// option. S3 Standard retrievals typically complete within 3-5 hours from
-// the GLACIER storage class and typically complete within 12 hours from
-// the DEEP_ARCHIVE storage class.
-//
-// * 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
-// hours from the DEEP_ARCHIVE storage class.
+// stored in the S3 Glacier or S3 Intelligent-Tiering Archive storage class
+// when occasional urgent requests for a subset of archives are required.
+// For all but the largest archived objects (250 MB+), data accessed using
+// Expedited retrievals is typically made available within 1–5 minutes.
+// Provisioned capacity ensures that retrieval capacity for Expedited retrievals
+// is available when you need it. Expedited retrievals and provisioned capacity
+// are not available for objects stored in the S3 Glacier Deep Archive or
+// S3 Intelligent-Tiering Deep Archive storage class.
+//
+// * Standard - Standard retrievals allow you to access any of your archived
+// objects within several hours. This is the default option for retrieval
+// requests that do not specify the retrieval option. Standard retrievals
+// typically finish within 3–5 hours for objects stored in the S3 Glacier
+// or S3 Intelligent-Tiering Archive storage class. They typically finish
+// within 12 hours for objects stored in the S3 Glacier Deep Archive or S3
+// Intelligent-Tiering Deep Archive storage class. Standard retrievals are
+// free for objects stored in S3 Intelligent-Tiering.
+//
+// * Bulk - Bulk retrievals are the lowest-cost retrieval option in S3 Glacier,
+// enabling you to retrieve large amounts, even petabytes, of data inexpensively.
+// Bulk retrievals typically finish within 5–12 hours for objects stored
+// in the S3 Glacier or S3 Intelligent-Tiering Archive storage class. They
+// typically finish within 48 hours for objects stored in the S3 Glacier
+// Deep Archive or S3 Intelligent-Tiering Deep Archive storage class. Bulk
+// retrievals are free for objects stored in S3 Intelligent-Tiering.
//
// For more information about archive retrieval options and provisioned capacity
// for Expedited data access, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// You can use Amazon S3 restore speed upgrade to change the restore speed to
-// a faster speed while it is in progress. You upgrade the speed of an in-progress
-// restoration by issuing another restore request to the same object, setting
-// a new Tier request element. When issuing a request to upgrade the restore
-// tier, you must choose a tier that is faster than the tier that the in-progress
-// restore is using. You must not change any other parameters, such as the Days
-// request element. For more information, see Upgrading the Speed of an In-Progress
-// Restore (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html)
+// a faster speed while it is in progress. For more information, see Upgrading
+// the speed of an in-progress restore (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// To get the status of object restoration, you can send a HEAD request. Operations
@@ -9679,11 +10079,11 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//
// A successful operation returns either the 200 OK or 202 Accepted status code.
//
-// * If the object copy is not previously restored, then Amazon S3 returns
-// 202 Accepted in the response.
+// * If the object is not previously restored, then Amazon S3 returns 202
+// Accepted in the response.
//
-// * If the object copy is previously restored, Amazon S3 returns 200 OK
-// in the response.
+// * If the object is previously restored, Amazon S3 returns 200 OK in the
+// response.
//
// Special Errors
//
@@ -9691,11 +10091,11 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
// (This error does not apply to SELECT type requests.) HTTP Status Code:
// 409 Conflict SOAP Fault Code Prefix: Client
//
-// * Code: GlacierExpeditedRetrievalNotAvailable Cause: S3 Glacier expedited
-// retrievals are currently not available. Try again later. (Returned if
-// there is insufficient capacity to process the Expedited request. This
-// error applies only to Expedited retrievals and not to S3 Standard or Bulk
-// retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A
+// * Code: GlacierExpeditedRetrievalNotAvailable Cause: expedited retrievals
+// are currently not available. Try again later. (Returned if there is insufficient
+// capacity to process the Expedited request. This error applies only to
+// Expedited retrievals and not to S3 Standard or Bulk retrievals.) HTTP
+// Status Code: 503 SOAP Fault Code Prefix: N/A
//
// Related Resources
//
@@ -13919,6 +14319,110 @@ func (s DeleteBucketInput) updateArnableField(v string) (interface{}, error) {
return &s, nil
}
+type DeleteBucketIntelligentTieringConfigurationInput struct {
+ _ struct{} `locationName:"DeleteBucketIntelligentTieringConfigurationRequest" type:"structure"`
+
+ // The name of the Amazon S3 bucket whose configuration you want to modify or
+ // retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the S3 Intelligent-Tiering configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteBucketIntelligentTieringConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketIntelligentTieringConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteBucketIntelligentTieringConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteBucketIntelligentTieringConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Bucket != nil && len(*s.Bucket) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *DeleteBucketIntelligentTieringConfigurationInput) SetBucket(v string) *DeleteBucketIntelligentTieringConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *DeleteBucketIntelligentTieringConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *DeleteBucketIntelligentTieringConfigurationInput) SetId(v string) *DeleteBucketIntelligentTieringConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+func (s *DeleteBucketIntelligentTieringConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *DeleteBucketIntelligentTieringConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
+// updateArnableField updates the value of the input field that
+// takes an ARN as an input. This method is useful to backfill
+// the parsed resource name from ARN into the input member.
+// It returns a pointer to a modified copy of input and an error.
+// Note that original input is not modified.
+func (s DeleteBucketIntelligentTieringConfigurationInput) updateArnableField(v string) (interface{}, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ s.Bucket = aws.String(v)
+ return &s, nil
+}
+
+type DeleteBucketIntelligentTieringConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteBucketIntelligentTieringConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteBucketIntelligentTieringConfigurationOutput) GoString() string {
+ return s.String()
+}
+
type DeleteBucketInventoryConfigurationInput struct {
_ struct{} `locationName:"DeleteBucketInventoryConfigurationRequest" type:"structure"`
@@ -14269,6 +14773,9 @@ type DeleteBucketOwnershipControlsInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // The account id of the expected bucket owner. If the bucket is owned by a
+ // different account, the request will fail with an HTTP 403 (Access Denied)
+ // error.
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -14819,24 +15326,25 @@ func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
return s
}
-// Specifies whether Amazon S3 replicates the delete markers. If you specify
-// a Filter, you must specify this element. However, in the latest version of
-// replication configuration (when Filter is specified), Amazon S3 doesn't replicate
-// delete markers. Therefore, the DeleteMarkerReplication element can contain
-// only Disabled. 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).
+// Specifies whether Amazon S3 replicates delete markers. If you specify a Filter
+// in your replication configuration, you must also include a DeleteMarkerReplication
+// element. If your Filter includes a Tag element, the DeleteMarkerReplication
+// Status must be set to Disabled, because Amazon S3 does not support replicating
+// delete markers for tag-based rules. 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 that the replication
-// configuration is the earlier version, V1. In the earlier version, Amazon
-// S3 handled replication of delete markers differently. For more information,
+// For more information about delete marker replication, see Basic Rule Configuration
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).
+//
+// If you are using an earlier version of the replication configuration, Amazon
+// S3 handles 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).
type DeleteMarkerReplication struct {
_ struct{} `type:"structure"`
// Indicates whether to replicate delete markers.
//
- // In the current implementation, Amazon S3 doesn't replicate the delete markers.
- // The status must be Disabled.
+ // Indicates whether to replicate delete markers.
Status *string `type:"string" enum:"DeleteMarkerReplicationStatus"`
}
@@ -15597,9 +16105,8 @@ type Destination struct {
// is specified, you must specify this element.
EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
- // 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.
+ // A container specifying replication metrics-related settings enabling replication
+ // metrics and events.
Metrics *Metrics `type:"structure"`
// A container specifying S3 Replication Time Control (S3 RTC), including whether
@@ -16928,6 +17435,119 @@ func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *Serv
return s
}
+type GetBucketIntelligentTieringConfigurationInput struct {
+ _ struct{} `locationName:"GetBucketIntelligentTieringConfigurationRequest" type:"structure"`
+
+ // The name of the Amazon S3 bucket whose configuration you want to modify or
+ // retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the S3 Intelligent-Tiering configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s GetBucketIntelligentTieringConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketIntelligentTieringConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetBucketIntelligentTieringConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetBucketIntelligentTieringConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Bucket != nil && len(*s.Bucket) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetBucketIntelligentTieringConfigurationInput) SetBucket(v string) *GetBucketIntelligentTieringConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetBucketIntelligentTieringConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *GetBucketIntelligentTieringConfigurationInput) SetId(v string) *GetBucketIntelligentTieringConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+func (s *GetBucketIntelligentTieringConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetBucketIntelligentTieringConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
+// updateArnableField updates the value of the input field that
+// takes an ARN as an input. This method is useful to backfill
+// the parsed resource name from ARN into the input member.
+// It returns a pointer to a modified copy of input and an error.
+// Note that original input is not modified.
+func (s GetBucketIntelligentTieringConfigurationInput) updateArnableField(v string) (interface{}, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ s.Bucket = aws.String(v)
+ return &s, nil
+}
+
+type GetBucketIntelligentTieringConfigurationOutput struct {
+ _ struct{} `type:"structure" payload:"IntelligentTieringConfiguration"`
+
+ // Container for S3 Intelligent-Tiering configuration.
+ IntelligentTieringConfiguration *IntelligentTieringConfiguration `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetBucketIntelligentTieringConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetBucketIntelligentTieringConfigurationOutput) GoString() string {
+ return s.String()
+}
+
+// SetIntelligentTieringConfiguration sets the IntelligentTieringConfiguration field's value.
+func (s *GetBucketIntelligentTieringConfigurationOutput) SetIntelligentTieringConfiguration(v *IntelligentTieringConfiguration) *GetBucketIntelligentTieringConfigurationOutput {
+ s.IntelligentTieringConfiguration = v
+ return s
+}
+
type GetBucketInventoryConfigurationInput struct {
_ struct{} `locationName:"GetBucketInventoryConfigurationRequest" type:"structure"`
@@ -17709,6 +18329,9 @@ type GetBucketOwnershipControlsInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // The account id of the expected bucket owner. If the bucket is owned by a
+ // different account, the request will fail with an HTTP 403 (Access Denied)
+ // error.
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20261,7 +20884,7 @@ func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *Public
type GlacierJobParameters struct {
_ struct{} `type:"structure"`
- // S3 Glacier retrieval tier at which the restore will be processed.
+ // Retrieval tier at which the restore will be processed.
//
// Tier is a required field
Tier *string `type:"string" required:"true" enum:"Tier"`
@@ -20809,6 +21432,9 @@ type HeadObjectOutput struct {
// Indicates that a range of bytes was specified.
AcceptRanges *string `location:"header" locationName:"accept-ranges" type:"string"`
+ // The archive state of the head object.
+ ArchiveStatus *string `location:"header" locationName:"x-amz-archive-status" type:"string" enum:"ArchiveStatus"`
+
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
@@ -20980,6 +21606,12 @@ func (s *HeadObjectOutput) SetAcceptRanges(v string) *HeadObjectOutput {
return s
}
+// SetArchiveStatus sets the ArchiveStatus field's value.
+func (s *HeadObjectOutput) SetArchiveStatus(v string) *HeadObjectOutput {
+ s.ArchiveStatus = &v
+ return s
+}
+
// SetCacheControl sets the CacheControl field's value.
func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
s.CacheControl = &v
@@ -21271,6 +21903,224 @@ func (s *InputSerialization) SetParquet(v *ParquetInput) *InputSerialization {
return s
}
+// A container for specifying S3 Intelligent-Tiering filters. The filters determine
+// the subset of objects to which the rule applies.
+type IntelligentTieringAndOperator struct {
+ _ struct{} `type:"structure"`
+
+ // An object key name prefix that identifies the subset of objects to which
+ // the configuration applies.
+ Prefix *string `type:"string"`
+
+ // All of these tags must exist in the object's tag set in order for the configuration
+ // to apply.
+ Tags []*Tag `locationName:"Tag" locationNameList:"Tag" type:"list" flattened:"true"`
+}
+
+// String returns the string representation
+func (s IntelligentTieringAndOperator) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IntelligentTieringAndOperator) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *IntelligentTieringAndOperator) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "IntelligentTieringAndOperator"}
+ if s.Tags != nil {
+ for i, v := range s.Tags {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *IntelligentTieringAndOperator) SetPrefix(v string) *IntelligentTieringAndOperator {
+ s.Prefix = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *IntelligentTieringAndOperator) SetTags(v []*Tag) *IntelligentTieringAndOperator {
+ s.Tags = v
+ return s
+}
+
+// Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.
+//
+// For information about the S3 Intelligent-Tiering storage class, see Storage
+// class for automatically optimizing frequently and infrequently accessed objects
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
+type IntelligentTieringConfiguration struct {
+ _ struct{} `type:"structure"`
+
+ // Specifies a bucket filter. The configuration only includes objects that meet
+ // the filter's criteria.
+ Filter *IntelligentTieringFilter `type:"structure"`
+
+ // The ID used to identify the S3 Intelligent-Tiering configuration.
+ //
+ // Id is a required field
+ Id *string `type:"string" required:"true"`
+
+ // Specifies the status of the configuration.
+ //
+ // Status is a required field
+ Status *string `type:"string" required:"true" enum:"IntelligentTieringStatus"`
+
+ // Specifies the S3 Intelligent-Tiering storage class tier of the configuration.
+ //
+ // Tierings is a required field
+ Tierings []*Tiering `locationName:"Tiering" type:"list" flattened:"true" required:"true"`
+}
+
+// String returns the string representation
+func (s IntelligentTieringConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IntelligentTieringConfiguration) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *IntelligentTieringConfiguration) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "IntelligentTieringConfiguration"}
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.Status == nil {
+ invalidParams.Add(request.NewErrParamRequired("Status"))
+ }
+ if s.Tierings == nil {
+ invalidParams.Add(request.NewErrParamRequired("Tierings"))
+ }
+ if s.Filter != nil {
+ if err := s.Filter.Validate(); err != nil {
+ invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tierings != nil {
+ for i, v := range s.Tierings {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tierings", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetFilter sets the Filter field's value.
+func (s *IntelligentTieringConfiguration) SetFilter(v *IntelligentTieringFilter) *IntelligentTieringConfiguration {
+ s.Filter = v
+ return s
+}
+
+// SetId sets the Id field's value.
+func (s *IntelligentTieringConfiguration) SetId(v string) *IntelligentTieringConfiguration {
+ s.Id = &v
+ return s
+}
+
+// SetStatus sets the Status field's value.
+func (s *IntelligentTieringConfiguration) SetStatus(v string) *IntelligentTieringConfiguration {
+ s.Status = &v
+ return s
+}
+
+// SetTierings sets the Tierings field's value.
+func (s *IntelligentTieringConfiguration) SetTierings(v []*Tiering) *IntelligentTieringConfiguration {
+ s.Tierings = v
+ return s
+}
+
+// The Filter is used to identify objects that the S3 Intelligent-Tiering configuration
+// applies to.
+type IntelligentTieringFilter struct {
+ _ struct{} `type:"structure"`
+
+ // A conjunction (logical AND) of predicates, which is used in evaluating a
+ // metrics filter. The operator must have at least two predicates, and an object
+ // must match all of the predicates in order for the filter to apply.
+ And *IntelligentTieringAndOperator `type:"structure"`
+
+ // An object key name prefix that identifies the subset of objects to which
+ // the rule applies.
+ Prefix *string `type:"string"`
+
+ // A container of a key value name pair.
+ Tag *Tag `type:"structure"`
+}
+
+// String returns the string representation
+func (s IntelligentTieringFilter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IntelligentTieringFilter) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *IntelligentTieringFilter) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "IntelligentTieringFilter"}
+ if s.And != nil {
+ if err := s.And.Validate(); err != nil {
+ invalidParams.AddNested("And", err.(request.ErrInvalidParams))
+ }
+ }
+ if s.Tag != nil {
+ if err := s.Tag.Validate(); err != nil {
+ invalidParams.AddNested("Tag", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAnd sets the And field's value.
+func (s *IntelligentTieringFilter) SetAnd(v *IntelligentTieringAndOperator) *IntelligentTieringFilter {
+ s.And = v
+ return s
+}
+
+// SetPrefix sets the Prefix field's value.
+func (s *IntelligentTieringFilter) SetPrefix(v string) *IntelligentTieringFilter {
+ s.Prefix = &v
+ return s
+}
+
+// SetTag sets the Tag field's value.
+func (s *IntelligentTieringFilter) SetTag(v *Tag) *IntelligentTieringFilter {
+ s.Tag = v
+ return s
+}
+
// Specifies the inventory configuration for an Amazon S3 bucket. For more information,
// see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html)
// in the Amazon Simple Storage Service API Reference.
@@ -22331,6 +23181,147 @@ func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v str
return s
}
+type ListBucketIntelligentTieringConfigurationsInput struct {
+ _ struct{} `locationName:"ListBucketIntelligentTieringConfigurationsRequest" type:"structure"`
+
+ // The name of the Amazon S3 bucket whose configuration you want to modify or
+ // retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ContinuationToken that represents a placeholder from where this request
+ // should begin.
+ ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketIntelligentTieringConfigurationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketIntelligentTieringConfigurationsInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ListBucketIntelligentTieringConfigurationsInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ListBucketIntelligentTieringConfigurationsInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Bucket != nil && len(*s.Bucket) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *ListBucketIntelligentTieringConfigurationsInput) SetBucket(v string) *ListBucketIntelligentTieringConfigurationsInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *ListBucketIntelligentTieringConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketIntelligentTieringConfigurationsInput) SetContinuationToken(v string) *ListBucketIntelligentTieringConfigurationsInput {
+ s.ContinuationToken = &v
+ return s
+}
+
+func (s *ListBucketIntelligentTieringConfigurationsInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *ListBucketIntelligentTieringConfigurationsInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
+// updateArnableField updates the value of the input field that
+// takes an ARN as an input. This method is useful to backfill
+// the parsed resource name from ARN into the input member.
+// It returns a pointer to a modified copy of input and an error.
+// Note that original input is not modified.
+func (s ListBucketIntelligentTieringConfigurationsInput) updateArnableField(v string) (interface{}, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ s.Bucket = aws.String(v)
+ return &s, nil
+}
+
+type ListBucketIntelligentTieringConfigurationsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The ContinuationToken that represents a placeholder from where this request
+ // should begin.
+ ContinuationToken *string `type:"string"`
+
+ // The list of S3 Intelligent-Tiering configurations for a bucket.
+ IntelligentTieringConfigurationList []*IntelligentTieringConfiguration `locationName:"IntelligentTieringConfiguration" type:"list" flattened:"true"`
+
+ // Indicates whether the returned list of analytics configurations is complete.
+ // A value of true indicates that the list is not complete and the NextContinuationToken
+ // will be provided for a subsequent request.
+ IsTruncated *bool `type:"boolean"`
+
+ // The marker used to continue this inventory configuration listing. Use the
+ // NextContinuationToken from this response to continue the listing in a subsequent
+ // request. The continuation token is an opaque value that Amazon S3 understands.
+ NextContinuationToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s ListBucketIntelligentTieringConfigurationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ListBucketIntelligentTieringConfigurationsOutput) GoString() string {
+ return s.String()
+}
+
+// SetContinuationToken sets the ContinuationToken field's value.
+func (s *ListBucketIntelligentTieringConfigurationsOutput) SetContinuationToken(v string) *ListBucketIntelligentTieringConfigurationsOutput {
+ s.ContinuationToken = &v
+ return s
+}
+
+// SetIntelligentTieringConfigurationList sets the IntelligentTieringConfigurationList field's value.
+func (s *ListBucketIntelligentTieringConfigurationsOutput) SetIntelligentTieringConfigurationList(v []*IntelligentTieringConfiguration) *ListBucketIntelligentTieringConfigurationsOutput {
+ s.IntelligentTieringConfigurationList = v
+ return s
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *ListBucketIntelligentTieringConfigurationsOutput) SetIsTruncated(v bool) *ListBucketIntelligentTieringConfigurationsOutput {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetNextContinuationToken sets the NextContinuationToken field's value.
+func (s *ListBucketIntelligentTieringConfigurationsOutput) SetNextContinuationToken(v string) *ListBucketIntelligentTieringConfigurationsOutput {
+ s.NextContinuationToken = &v
+ return s
+}
+
type ListBucketInventoryConfigurationsInput struct {
_ struct{} `locationName:"ListBucketInventoryConfigurationsRequest" type:"structure"`
@@ -24548,17 +25539,14 @@ func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
return s
}
-// 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.
+// A container specifying replication metrics-related settings enabling replication
+// metrics and events.
type Metrics struct {
_ struct{} `type:"structure"`
// A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold
// event.
- //
- // EventThreshold is a required field
- EventThreshold *ReplicationTimeValue `type:"structure" required:"true"`
+ EventThreshold *ReplicationTimeValue `type:"structure"`
// Specifies whether the replication metrics are enabled.
//
@@ -24579,9 +25567,6 @@ func (s Metrics) GoString() string {
// Validate inspects the fields of the type to determine if they are valid.
func (s *Metrics) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Metrics"}
- if s.EventThreshold == nil {
- invalidParams.Add(request.NewErrParamRequired("EventThreshold"))
- }
if s.Status == nil {
invalidParams.Add(request.NewErrParamRequired("Status"))
}
@@ -25852,8 +26837,8 @@ type PublicAccessBlockConfiguration struct {
// Specifies whether Amazon S3 should restrict public bucket policies for this
// bucket. Setting this element to TRUE restricts access to this bucket to only
- // AWS services and authorized users within this account if the bucket has a
- // public policy.
+ // AWS service principals and authorized users within this account if the bucket
+ // has a public policy.
//
// Enabling this setting doesn't affect previously stored bucket policies, except
// that public and cross-account access within any public bucket policy, including
@@ -26556,6 +27541,129 @@ func (s PutBucketEncryptionOutput) GoString() string {
return s.String()
}
+type PutBucketIntelligentTieringConfigurationInput struct {
+ _ struct{} `locationName:"PutBucketIntelligentTieringConfigurationRequest" type:"structure" payload:"IntelligentTieringConfiguration"`
+
+ // The name of the Amazon S3 bucket whose configuration you want to modify or
+ // retrieve.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The ID used to identify the S3 Intelligent-Tiering configuration.
+ //
+ // Id is a required field
+ Id *string `location:"querystring" locationName:"id" type:"string" required:"true"`
+
+ // Container for S3 Intelligent-Tiering configuration.
+ //
+ // IntelligentTieringConfiguration is a required field
+ IntelligentTieringConfiguration *IntelligentTieringConfiguration `locationName:"IntelligentTieringConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+}
+
+// String returns the string representation
+func (s PutBucketIntelligentTieringConfigurationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketIntelligentTieringConfigurationInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *PutBucketIntelligentTieringConfigurationInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "PutBucketIntelligentTieringConfigurationInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Bucket != nil && len(*s.Bucket) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
+ }
+ if s.Id == nil {
+ invalidParams.Add(request.NewErrParamRequired("Id"))
+ }
+ if s.IntelligentTieringConfiguration == nil {
+ invalidParams.Add(request.NewErrParamRequired("IntelligentTieringConfiguration"))
+ }
+ if s.IntelligentTieringConfiguration != nil {
+ if err := s.IntelligentTieringConfiguration.Validate(); err != nil {
+ invalidParams.AddNested("IntelligentTieringConfiguration", err.(request.ErrInvalidParams))
+ }
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *PutBucketIntelligentTieringConfigurationInput) SetBucket(v string) *PutBucketIntelligentTieringConfigurationInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *PutBucketIntelligentTieringConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetId sets the Id field's value.
+func (s *PutBucketIntelligentTieringConfigurationInput) SetId(v string) *PutBucketIntelligentTieringConfigurationInput {
+ s.Id = &v
+ return s
+}
+
+// SetIntelligentTieringConfiguration sets the IntelligentTieringConfiguration field's value.
+func (s *PutBucketIntelligentTieringConfigurationInput) SetIntelligentTieringConfiguration(v *IntelligentTieringConfiguration) *PutBucketIntelligentTieringConfigurationInput {
+ s.IntelligentTieringConfiguration = v
+ return s
+}
+
+func (s *PutBucketIntelligentTieringConfigurationInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *PutBucketIntelligentTieringConfigurationInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
+// updateArnableField updates the value of the input field that
+// takes an ARN as an input. This method is useful to backfill
+// the parsed resource name from ARN into the input member.
+// It returns a pointer to a modified copy of input and an error.
+// Note that original input is not modified.
+func (s PutBucketIntelligentTieringConfigurationInput) updateArnableField(v string) (interface{}, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ s.Bucket = aws.String(v)
+ return &s, nil
+}
+
+type PutBucketIntelligentTieringConfigurationOutput struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation
+func (s PutBucketIntelligentTieringConfigurationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PutBucketIntelligentTieringConfigurationOutput) GoString() string {
+ return s.String()
+}
+
type PutBucketInventoryConfigurationInput struct {
_ struct{} `locationName:"PutBucketInventoryConfigurationRequest" type:"structure" payload:"InventoryConfiguration"`
@@ -27409,6 +28517,9 @@ type PutBucketOwnershipControlsInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // The account id of the expected bucket owner. If the bucket is owned by a
+ // different account, the request will fail with an HTTP 403 (Access Denied)
+ // error.
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want
@@ -27661,6 +28772,7 @@ type PutBucketReplicationInput struct {
// ReplicationConfiguration is a required field
ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+ // A token to allow Object Lock to be enabled for an existing bucket.
Token *string `location:"header" locationName:"x-amz-bucket-object-lock-token" type:"string"`
}
@@ -30211,16 +31323,18 @@ func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationCo
type ReplicationRule struct {
_ struct{} `type:"structure"`
- // Specifies whether Amazon S3 replicates the delete markers. If you specify
- // a Filter, you must specify this element. However, in the latest version of
- // replication configuration (when Filter is specified), Amazon S3 doesn't replicate
- // delete markers. Therefore, the DeleteMarkerReplication element can contain
- // only Disabled. 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).
+ // Specifies whether Amazon S3 replicates delete markers. If you specify a Filter
+ // in your replication configuration, you must also include a DeleteMarkerReplication
+ // element. If your Filter includes a Tag element, the DeleteMarkerReplication
+ // Status must be set to Disabled, because Amazon S3 does not support replicating
+ // delete markers for tag-based rules. 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).
+ //
+ // For more information about delete marker replication, see Basic Rule Configuration
+ // (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html).
//
- // 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,
+ // If you are using an earlier version of the replication configuration, Amazon
+ // S3 handles 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"`
@@ -30666,7 +31780,7 @@ func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
type RestoreObjectInput struct {
_ struct{} `locationName:"RestoreObjectRequest" type:"structure" payload:"RestoreRequest"`
- // The bucket name or containing the object to restore.
+ // The bucket name 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.
@@ -30857,6 +31971,9 @@ type RestoreRequest struct {
// Lifetime of the active copy in days. Do not use with restores that specify
// OutputLocation.
+ //
+ // The Days element is required for regular restores, and must not be provided
+ // for select requests.
Days *int64 `type:"integer"`
// The optional description for the job.
@@ -30872,7 +31989,7 @@ type RestoreRequest struct {
// Describes the parameters for Select job types.
SelectParameters *SelectParameters `type:"structure"`
- // S3 Glacier retrieval tier at which the restore will be processed.
+ // Retrieval tier at which the restore will be processed.
Tier *string `type:"string" enum:"Tier"`
// Type of restore request.
@@ -32348,6 +33465,65 @@ func (s *TargetGrant) SetPermission(v string) *TargetGrant {
return s
}
+// The S3 Intelligent-Tiering storage class is designed to optimize storage
+// costs by automatically moving data to the most cost-effective storage access
+// tier, without additional operational overhead.
+type Tiering struct {
+ _ struct{} `type:"structure"`
+
+ // S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing
+ // frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access)
+ // for a list of access tiers in the S3 Intelligent-Tiering storage class.
+ //
+ // AccessTier is a required field
+ AccessTier *string `type:"string" required:"true" enum:"IntelligentTieringAccessTier"`
+
+ // The number of days that you want your archived data to be accessible. The
+ // minimum number of days specified in the restore request must be at least
+ // 90 days. If a smaller value is specifed it will be ignored.
+ //
+ // Days is a required field
+ Days *int64 `type:"integer" required:"true"`
+}
+
+// String returns the string representation
+func (s Tiering) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Tiering) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *Tiering) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "Tiering"}
+ if s.AccessTier == nil {
+ invalidParams.Add(request.NewErrParamRequired("AccessTier"))
+ }
+ if s.Days == nil {
+ invalidParams.Add(request.NewErrParamRequired("Days"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAccessTier sets the AccessTier field's value.
+func (s *Tiering) SetAccessTier(v string) *Tiering {
+ s.AccessTier = &v
+ return s
+}
+
+// SetDays sets the Days field's value.
+func (s *Tiering) SetDays(v int64) *Tiering {
+ s.Days = &v
+ return s
+}
+
// 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.
@@ -33406,6 +34582,22 @@ func AnalyticsS3ExportFileFormat_Values() []string {
}
}
+const (
+ // ArchiveStatusArchiveAccess is a ArchiveStatus enum value
+ ArchiveStatusArchiveAccess = "ARCHIVE_ACCESS"
+
+ // ArchiveStatusDeepArchiveAccess is a ArchiveStatus enum value
+ ArchiveStatusDeepArchiveAccess = "DEEP_ARCHIVE_ACCESS"
+)
+
+// ArchiveStatus_Values returns all elements of the ArchiveStatus enum
+func ArchiveStatus_Values() []string {
+ return []string{
+ ArchiveStatusArchiveAccess,
+ ArchiveStatusDeepArchiveAccess,
+ }
+}
+
const (
// BucketAccelerateStatusEnabled is a BucketAccelerateStatus enum value
BucketAccelerateStatusEnabled = "Enabled"
@@ -33801,6 +34993,38 @@ func FilterRuleName_Values() []string {
}
}
+const (
+ // IntelligentTieringAccessTierArchiveAccess is a IntelligentTieringAccessTier enum value
+ IntelligentTieringAccessTierArchiveAccess = "ARCHIVE_ACCESS"
+
+ // IntelligentTieringAccessTierDeepArchiveAccess is a IntelligentTieringAccessTier enum value
+ IntelligentTieringAccessTierDeepArchiveAccess = "DEEP_ARCHIVE_ACCESS"
+)
+
+// IntelligentTieringAccessTier_Values returns all elements of the IntelligentTieringAccessTier enum
+func IntelligentTieringAccessTier_Values() []string {
+ return []string{
+ IntelligentTieringAccessTierArchiveAccess,
+ IntelligentTieringAccessTierDeepArchiveAccess,
+ }
+}
+
+const (
+ // IntelligentTieringStatusEnabled is a IntelligentTieringStatus enum value
+ IntelligentTieringStatusEnabled = "Enabled"
+
+ // IntelligentTieringStatusDisabled is a IntelligentTieringStatus enum value
+ IntelligentTieringStatusDisabled = "Disabled"
+)
+
+// IntelligentTieringStatus_Values returns all elements of the IntelligentTieringStatus enum
+func IntelligentTieringStatus_Values() []string {
+ return []string{
+ IntelligentTieringStatusEnabled,
+ IntelligentTieringStatusDisabled,
+ }
+}
+
const (
// InventoryFormatCsv is a InventoryFormat enum value
InventoryFormatCsv = "CSV"
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 dd73d460c..f64b55135 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
@@ -21,6 +21,12 @@ const (
// bucket access control lists (ACLs).
ErrCodeBucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou"
+ // ErrCodeInvalidObjectState for service response error code
+ // "InvalidObjectState".
+ //
+ // Object is archived and inaccessible until restored.
+ ErrCodeInvalidObjectState = "InvalidObjectState"
+
// ErrCodeNoSuchBucket for service response error code
// "NoSuchBucket".
//
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go b/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
index bca091d75..7c6221878 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
@@ -96,6 +96,10 @@ type S3API interface {
DeleteBucketEncryptionWithContext(aws.Context, *s3.DeleteBucketEncryptionInput, ...request.Option) (*s3.DeleteBucketEncryptionOutput, error)
DeleteBucketEncryptionRequest(*s3.DeleteBucketEncryptionInput) (*request.Request, *s3.DeleteBucketEncryptionOutput)
+ DeleteBucketIntelligentTieringConfiguration(*s3.DeleteBucketIntelligentTieringConfigurationInput) (*s3.DeleteBucketIntelligentTieringConfigurationOutput, error)
+ DeleteBucketIntelligentTieringConfigurationWithContext(aws.Context, *s3.DeleteBucketIntelligentTieringConfigurationInput, ...request.Option) (*s3.DeleteBucketIntelligentTieringConfigurationOutput, error)
+ DeleteBucketIntelligentTieringConfigurationRequest(*s3.DeleteBucketIntelligentTieringConfigurationInput) (*request.Request, *s3.DeleteBucketIntelligentTieringConfigurationOutput)
+
DeleteBucketInventoryConfiguration(*s3.DeleteBucketInventoryConfigurationInput) (*s3.DeleteBucketInventoryConfigurationOutput, error)
DeleteBucketInventoryConfigurationWithContext(aws.Context, *s3.DeleteBucketInventoryConfigurationInput, ...request.Option) (*s3.DeleteBucketInventoryConfigurationOutput, error)
DeleteBucketInventoryConfigurationRequest(*s3.DeleteBucketInventoryConfigurationInput) (*request.Request, *s3.DeleteBucketInventoryConfigurationOutput)
@@ -164,6 +168,10 @@ type S3API interface {
GetBucketEncryptionWithContext(aws.Context, *s3.GetBucketEncryptionInput, ...request.Option) (*s3.GetBucketEncryptionOutput, error)
GetBucketEncryptionRequest(*s3.GetBucketEncryptionInput) (*request.Request, *s3.GetBucketEncryptionOutput)
+ GetBucketIntelligentTieringConfiguration(*s3.GetBucketIntelligentTieringConfigurationInput) (*s3.GetBucketIntelligentTieringConfigurationOutput, error)
+ GetBucketIntelligentTieringConfigurationWithContext(aws.Context, *s3.GetBucketIntelligentTieringConfigurationInput, ...request.Option) (*s3.GetBucketIntelligentTieringConfigurationOutput, error)
+ GetBucketIntelligentTieringConfigurationRequest(*s3.GetBucketIntelligentTieringConfigurationInput) (*request.Request, *s3.GetBucketIntelligentTieringConfigurationOutput)
+
GetBucketInventoryConfiguration(*s3.GetBucketInventoryConfigurationInput) (*s3.GetBucketInventoryConfigurationOutput, error)
GetBucketInventoryConfigurationWithContext(aws.Context, *s3.GetBucketInventoryConfigurationInput, ...request.Option) (*s3.GetBucketInventoryConfigurationOutput, error)
GetBucketInventoryConfigurationRequest(*s3.GetBucketInventoryConfigurationInput) (*request.Request, *s3.GetBucketInventoryConfigurationOutput)
@@ -272,6 +280,10 @@ type S3API interface {
ListBucketAnalyticsConfigurationsWithContext(aws.Context, *s3.ListBucketAnalyticsConfigurationsInput, ...request.Option) (*s3.ListBucketAnalyticsConfigurationsOutput, error)
ListBucketAnalyticsConfigurationsRequest(*s3.ListBucketAnalyticsConfigurationsInput) (*request.Request, *s3.ListBucketAnalyticsConfigurationsOutput)
+ ListBucketIntelligentTieringConfigurations(*s3.ListBucketIntelligentTieringConfigurationsInput) (*s3.ListBucketIntelligentTieringConfigurationsOutput, error)
+ ListBucketIntelligentTieringConfigurationsWithContext(aws.Context, *s3.ListBucketIntelligentTieringConfigurationsInput, ...request.Option) (*s3.ListBucketIntelligentTieringConfigurationsOutput, error)
+ ListBucketIntelligentTieringConfigurationsRequest(*s3.ListBucketIntelligentTieringConfigurationsInput) (*request.Request, *s3.ListBucketIntelligentTieringConfigurationsOutput)
+
ListBucketInventoryConfigurations(*s3.ListBucketInventoryConfigurationsInput) (*s3.ListBucketInventoryConfigurationsOutput, error)
ListBucketInventoryConfigurationsWithContext(aws.Context, *s3.ListBucketInventoryConfigurationsInput, ...request.Option) (*s3.ListBucketInventoryConfigurationsOutput, error)
ListBucketInventoryConfigurationsRequest(*s3.ListBucketInventoryConfigurationsInput) (*request.Request, *s3.ListBucketInventoryConfigurationsOutput)
@@ -339,6 +351,10 @@ type S3API interface {
PutBucketEncryptionWithContext(aws.Context, *s3.PutBucketEncryptionInput, ...request.Option) (*s3.PutBucketEncryptionOutput, error)
PutBucketEncryptionRequest(*s3.PutBucketEncryptionInput) (*request.Request, *s3.PutBucketEncryptionOutput)
+ PutBucketIntelligentTieringConfiguration(*s3.PutBucketIntelligentTieringConfigurationInput) (*s3.PutBucketIntelligentTieringConfigurationOutput, error)
+ PutBucketIntelligentTieringConfigurationWithContext(aws.Context, *s3.PutBucketIntelligentTieringConfigurationInput, ...request.Option) (*s3.PutBucketIntelligentTieringConfigurationOutput, error)
+ PutBucketIntelligentTieringConfigurationRequest(*s3.PutBucketIntelligentTieringConfigurationInput) (*request.Request, *s3.PutBucketIntelligentTieringConfigurationOutput)
+
PutBucketInventoryConfiguration(*s3.PutBucketInventoryConfigurationInput) (*s3.PutBucketInventoryConfigurationOutput, error)
PutBucketInventoryConfigurationWithContext(aws.Context, *s3.PutBucketInventoryConfigurationInput, ...request.Option) (*s3.PutBucketInventoryConfigurationOutput, error)
PutBucketInventoryConfigurationRequest(*s3.PutBucketInventoryConfigurationInput) (*request.Request, *s3.PutBucketInventoryConfigurationOutput)
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 65037a37b..538e40395 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
@@ -11426,7 +11426,25 @@ func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Reques
// The request does not meet the regular expression requirement.
//
// * ParameterMaxVersionLimitExceeded
-// The parameter exceeded the maximum number of allowed versions.
+// Parameter Store retains the 100 most recently created versions of a parameter.
+// After this number of versions has been created, Parameter Store deletes the
+// oldest version when a new one is created. However, if the oldest version
+// has a label attached to it, Parameter Store will not delete the version and
+// instead presents this error message:
+//
+// An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter
+// operation: You attempted to create a new version of parameter-name by calling
+// the PutParameter API with the overwrite flag. Version version-number, the
+// oldest version, can't be deleted because it has a label associated with it.
+// Move the label to another version of the parameter, and try again.
+//
+// This safeguard is to prevent parameter versions with mission critical labels
+// assigned to them from being deleted. To continue creating new parameters,
+// first move the label from the oldest version of the parameter to a newer
+// one for use in your operations. For information about moving parameter labels,
+// see Move a parameter label (console) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move)
+// or Move a parameter label (CLI) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move)
+// in the AWS Systems Manager User Guide.
//
// * ParameterPatternMismatchException
// The parameter name is not valid.
@@ -15279,6 +15297,8 @@ type AssociationFilter struct {
// The name of the filter.
//
+ // InstanceId has been deprecated.
+ //
// Key is a required field
Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"`
@@ -16278,7 +16298,7 @@ type AutomationExecutionFilter struct {
// One or more keys to limit the results. Valid filter keys include the following:
// DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction,
- // StartTimeBefore, StartTimeAfter.
+ // StartTimeBefore, StartTimeAfter, TargetResourceGroup.
//
// Key is a required field
Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"`
@@ -33999,6 +34019,11 @@ type ListAssociationsInput struct {
_ struct{} `type:"structure"`
// One or more filters. Use a filter to return a more specific list of results.
+ //
+ // Filtering associations using the InstanceID attribute only returns legacy
+ // associations created using the InstanceID attribute. Associations targeting
+ // the instance that are part of the Target Attributes ResourceGroup or Tags
+ // are not returned.
AssociationFilterList []*AssociationFilter `min:"1" type:"list"`
// The maximum number of items to return for this call. The call also returns
@@ -38179,7 +38204,25 @@ func (s *ParameterLimitExceeded) RequestID() string {
return s.RespMetadata.RequestID
}
-// The parameter exceeded the maximum number of allowed versions.
+// Parameter Store retains the 100 most recently created versions of a parameter.
+// After this number of versions has been created, Parameter Store deletes the
+// oldest version when a new one is created. However, if the oldest version
+// has a label attached to it, Parameter Store will not delete the version and
+// instead presents this error message:
+//
+// An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter
+// operation: You attempted to create a new version of parameter-name by calling
+// the PutParameter API with the overwrite flag. Version version-number, the
+// oldest version, can't be deleted because it has a label associated with it.
+// Move the label to another version of the parameter, and try again.
+//
+// This safeguard is to prevent parameter versions with mission critical labels
+// assigned to them from being deleted. To continue creating new parameters,
+// first move the label from the oldest version of the parameter to a newer
+// one for use in your operations. For information about moving parameter labels,
+// see Move a parameter label (console) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move)
+// or Move a parameter label (CLI) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move)
+// in the AWS Systems Manager User Guide.
type ParameterMaxVersionLimitExceeded struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
@@ -43145,6 +43188,8 @@ type SessionFilter struct {
// with that status. Status values you can specify include: Connected Connecting
// Disconnected Terminated Terminating Failed
//
+ // * SessionId: Specify a session ID to return details about the session.
+ //
// Value is a required field
Value *string `locationName:"value" min:"1" type:"string" required:"true"`
}
@@ -47661,6 +47706,9 @@ const (
// AutomationExecutionFilterKeyTagKey is a AutomationExecutionFilterKey enum value
AutomationExecutionFilterKeyTagKey = "TagKey"
+
+ // AutomationExecutionFilterKeyTargetResourceGroup is a AutomationExecutionFilterKey enum value
+ AutomationExecutionFilterKeyTargetResourceGroup = "TargetResourceGroup"
)
// AutomationExecutionFilterKey_Values returns all elements of the AutomationExecutionFilterKey enum
@@ -47675,6 +47723,7 @@ func AutomationExecutionFilterKey_Values() []string {
AutomationExecutionFilterKeyStartTimeAfter,
AutomationExecutionFilterKeyAutomationType,
AutomationExecutionFilterKeyTagKey,
+ AutomationExecutionFilterKeyTargetResourceGroup,
}
}
@@ -49154,6 +49203,9 @@ const (
// SessionFilterKeyStatus is a SessionFilterKey enum value
SessionFilterKeyStatus = "Status"
+
+ // SessionFilterKeySessionId is a SessionFilterKey enum value
+ SessionFilterKeySessionId = "SessionId"
)
// SessionFilterKey_Values returns all elements of the SessionFilterKey enum
@@ -49164,6 +49216,7 @@ func SessionFilterKey_Values() []string {
SessionFilterKeyTarget,
SessionFilterKeyOwner,
SessionFilterKeyStatus,
+ SessionFilterKeySessionId,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go
index 938a767cc..74b773c77 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go
@@ -585,7 +585,25 @@ const (
// ErrCodeParameterMaxVersionLimitExceeded for service response error code
// "ParameterMaxVersionLimitExceeded".
//
- // The parameter exceeded the maximum number of allowed versions.
+ // Parameter Store retains the 100 most recently created versions of a parameter.
+ // After this number of versions has been created, Parameter Store deletes the
+ // oldest version when a new one is created. However, if the oldest version
+ // has a label attached to it, Parameter Store will not delete the version and
+ // instead presents this error message:
+ //
+ // An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter
+ // operation: You attempted to create a new version of parameter-name by calling
+ // the PutParameter API with the overwrite flag. Version version-number, the
+ // oldest version, can't be deleted because it has a label associated with it.
+ // Move the label to another version of the parameter, and try again.
+ //
+ // This safeguard is to prevent parameter versions with mission critical labels
+ // assigned to them from being deleted. To continue creating new parameters,
+ // first move the label from the oldest version of the parameter to a newer
+ // one for use in your operations. For information about moving parameter labels,
+ // see Move a parameter label (console) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move)
+ // or Move a parameter label (CLI) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move)
+ // in the AWS Systems Manager User Guide.
ErrCodeParameterMaxVersionLimitExceeded = "ParameterMaxVersionLimitExceeded"
// ErrCodeParameterNotFound for service response error code
diff --git a/vendor/modules.txt b/vendor/modules.txt
index cdeacd59f..233caa670 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -84,7 +84,7 @@ github.com/andybalholm/brotli
github.com/armon/circbuf
# github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496
github.com/asaskevich/govalidator
-# github.com/aws/aws-sdk-go v1.35.10
+# github.com/aws/aws-sdk-go v1.35.25
## explicit
github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/arn