vendor: cadvisor v0.38.4

This commit is contained in:
David Porter
2020-11-13 19:52:57 +00:00
parent ec734aced7
commit 8af7405f17
396 changed files with 73154 additions and 18510 deletions

View File

@@ -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
}

View File

@@ -593,6 +593,7 @@ var awsPartition = partition{
"api.sagemaker": service{
Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
@@ -602,6 +603,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{},
@@ -721,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{},
@@ -835,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{},
@@ -844,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{},
@@ -858,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{},
@@ -867,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{},
@@ -2034,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{
@@ -2190,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{
@@ -3096,7 +3139,12 @@ var awsPartition = partition{
"health": service{
Endpoints: endpoints{
"us-east-1": endpoint{},
"fips-us-east-2": endpoint{
Hostname: "health-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
},
},
"honeycode": service{
@@ -3448,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{},
},
},
@@ -3511,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{
@@ -4401,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{},
@@ -4821,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{
@@ -4876,6 +4956,7 @@ var awsPartition = partition{
"runtime.sagemaker": service{
Endpoints: endpoints{
"af-south-1": endpoint{},
"ap-east-1": endpoint{},
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
@@ -4885,6 +4966,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{},
@@ -5427,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{
@@ -5786,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{
@@ -5812,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{
@@ -6181,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{},
@@ -7005,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{
@@ -7067,6 +7146,12 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{},
},
},
"iotanalytics": service{
Endpoints: endpoints{
"cn-north-1": endpoint{},
},
},
"iotevents": service{
Endpoints: endpoints{
@@ -7119,6 +7204,12 @@ var awscnPartition = partition{
"cn-northwest-1": endpoint{},
},
},
"lakeformation": service{
Endpoints: endpoints{
"cn-north-1": endpoint{},
},
},
"lambda": service{
Endpoints: endpoints{
@@ -7282,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"},
@@ -7295,6 +7393,13 @@ var awscnPartition = partition{
},
},
},
"servicediscovery": service{
Endpoints: endpoints{
"cn-north-1": endpoint{},
"cn-northwest-1": endpoint{},
},
},
"sms": service{
Endpoints: endpoints{
@@ -7490,8 +7595,18 @@ var awsusgovPartition = partition{
"acm": service{
Endpoints: endpoints{
"us-gov-east-1": endpoint{},
"us-gov-west-1": endpoint{},
"us-gov-east-1": endpoint{
Hostname: "acm.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
"us-gov-west-1": endpoint{
Hostname: "acm.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
},
},
"acm-pca": service{
@@ -7590,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{
@@ -7646,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{
@@ -7799,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{},
},
},
@@ -8004,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{},
},
@@ -8203,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{
@@ -8217,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",
@@ -8494,12 +8642,17 @@ var awsusgovPartition = partition{
},
Endpoints: endpoints{
"fips-us-gov-west-1": endpoint{
Hostname: "pinpoint-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-west-1": endpoint{
Hostname: "pinpoint.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
"us-gov-west-1": endpoint{},
},
},
"polly": service{
@@ -8599,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{
@@ -8845,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{},
},
@@ -9481,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"},
@@ -9560,6 +9718,12 @@ var awsisobPartition = partition{
},
},
},
"ecs": service{
Endpoints: endpoints{
"us-isob-east-1": endpoint{},
},
},
"elasticache": service{
Endpoints: endpoints{

View File

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

View File

@@ -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,

View File

@@ -4553,6 +4553,9 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification
// 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.
@@ -5206,6 +5209,9 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI
// Scaling group from terminating on scale in, see Instance 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.
@@ -6494,6 +6500,18 @@ type CreateAutoScalingGroupInput struct {
// is required to launch instances into EC2-Classic.
AvailabilityZones []*string `min:"1" type:"list"`
// Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance
// is disabled.
//
// You can enable capacity rebalancing for your Auto Scaling groups when using
// Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling
// attempts to launch a Spot Instance whenever Amazon EC2 predicts 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.
//
@@ -6786,6 +6804,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
@@ -7014,7 +7038,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 +7065,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,
@@ -10352,6 +10376,9 @@ type Group struct {
// AvailabilityZones is a required field
AvailabilityZones []*string `min:"1" type:"list" required:"true"`
// Indicates whether capacity rebalance is enabled.
CapacityRebalance *bool `type:"boolean"`
// The date and time the group was created.
//
// CreatedTime is a required field
@@ -10471,6 +10498,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 +10881,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"`
@@ -11258,7 +11291,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,9 +11321,9 @@ 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
@@ -12333,16 +12366,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/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>,
// where:
//
// * app/load-balancer-name/load-balancer-id is the final portion of the
// load balancer ARN, and
// * app/<load-balancer-name>/<load-balancer-id> is the final portion of
// the load balancer ARN
//
// * targetgroup/target-group-name/target-group-id 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)
@@ -14558,6 +14593,17 @@ type UpdateAutoScalingGroupInput struct {
// One or more Availability Zones for the group.
AvailabilityZones []*string `min:"1" type:"list"`
// Enables or disables capacity rebalance.
//
// You can enable capacity rebalancing for your Auto Scaling groups when using
// Spot Instances. When you turn on capacity rebalancing, Amazon EC2 Auto Scaling
// attempts to launch a Spot Instance whenever Amazon EC2 predicts 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.
//
@@ -14742,6 +14788,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

File diff suppressed because it is too large Load Diff

View File

@@ -4197,25 +4197,7 @@ type CreateListenerInput struct {
// 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"`
@@ -4591,34 +4573,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"`
@@ -4763,8 +4723,12 @@ type CreateTargetGroupInput struct {
// 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.
@@ -4793,8 +4757,8 @@ type CreateTargetGroupInput struct {
// 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.
@@ -4818,6 +4782,11 @@ type CreateTargetGroupInput struct {
// 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"`
@@ -4886,11 +4855,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 +4938,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
@@ -6878,20 +6848,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 200399.
//
// HttpCode is a required field
HttpCode *string `type:"string" required:"true"`
// For Network Load Balancers, this is "200399".
HttpCode *string `type:"string"`
}
// String returns the string representation
@@ -6904,17 +6877,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.
@@ -6950,25 +6916,7 @@ type ModifyListenerInput struct {
// 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.
@@ -7190,31 +7138,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 +7306,18 @@ 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 HTTP and HTTPS health checks, the range is 5 to 300 seconds.
// For TPC 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.
@@ -7410,10 +7341,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 +7353,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 +7389,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 +7708,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"`
}
@@ -8838,7 +8758,7 @@ 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.
@@ -8859,7 +8779,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 +8790,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"`
@@ -8964,6 +8889,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