package types

import "github.com/aws/aws-sdk-go-v2/service/applicationautoscaling/types"

Index

Types

type AdjustmentType

type AdjustmentType string
const (
	AdjustmentTypeChangeincapacity        AdjustmentType = "ChangeInCapacity"
	AdjustmentTypePercentchangeincapacity AdjustmentType = "PercentChangeInCapacity"
	AdjustmentTypeExactcapacity           AdjustmentType = "ExactCapacity"
)

Enum values for AdjustmentType

type Alarm

type Alarm struct {

	// The Amazon Resource Name (ARN) of the alarm.
	//
	// This member is required.
	AlarmARN *string

	// The name of the alarm.
	//
	// This member is required.
	AlarmName *string
}

Represents a CloudWatch alarm associated with a scaling policy.

type ConcurrentUpdateException

type ConcurrentUpdateException struct {
	Message *string
}

Concurrent updates caused an exception, for example, if you request an update to an Application Auto Scaling resource that already has a pending update.

func (*ConcurrentUpdateException) Error

func (e *ConcurrentUpdateException) Error() string

func (*ConcurrentUpdateException) ErrorCode

func (e *ConcurrentUpdateException) ErrorCode() string

func (*ConcurrentUpdateException) ErrorFault

func (*ConcurrentUpdateException) ErrorMessage

func (e *ConcurrentUpdateException) ErrorMessage() string

type CustomizedMetricSpecification

type CustomizedMetricSpecification struct {

	// The statistic of the metric.
	//
	// This member is required.
	Statistic MetricStatistic

	// The dimensions of the metric. Conditional: If you published your metric with
	// dimensions, you must specify the same dimensions in your scaling policy.
	Dimensions []*MetricDimension

	// The unit of the metric.
	Unit *string

	// The name of the metric.
	//
	// This member is required.
	MetricName *string

	// The namespace of the metric.
	//
	// This member is required.
	Namespace *string
}

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling. For information about the available metrics for a service, see AWS Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the Amazon CloudWatch User Guide. To create your customized metric specification:

You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) in the Amazon CloudWatch User Guide.

proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases.

For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

type FailedResourceAccessException

type FailedResourceAccessException struct {
	Message *string
}

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) on your behalf.

func (*FailedResourceAccessException) Error

func (*FailedResourceAccessException) ErrorCode

func (e *FailedResourceAccessException) ErrorCode() string

func (*FailedResourceAccessException) ErrorFault

func (*FailedResourceAccessException) ErrorMessage

func (e *FailedResourceAccessException) ErrorMessage() string

type InternalServiceException

type InternalServiceException struct {
	Message *string
}

The service encountered an internal error.

func (*InternalServiceException) Error

func (e *InternalServiceException) Error() string

func (*InternalServiceException) ErrorCode

func (e *InternalServiceException) ErrorCode() string

func (*InternalServiceException) ErrorFault

func (e *InternalServiceException) ErrorFault() smithy.ErrorFault

func (*InternalServiceException) ErrorMessage

func (e *InternalServiceException) ErrorMessage() string

type InvalidNextTokenException

type InvalidNextTokenException struct {
	Message *string
}

The next token supplied was invalid.

func (*InvalidNextTokenException) Error

func (e *InvalidNextTokenException) Error() string

func (*InvalidNextTokenException) ErrorCode

func (e *InvalidNextTokenException) ErrorCode() string

func (*InvalidNextTokenException) ErrorFault

func (*InvalidNextTokenException) ErrorMessage

func (e *InvalidNextTokenException) ErrorMessage() string

type LimitExceededException

type LimitExceededException struct {
	Message *string
}

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits (https://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html).

func (*LimitExceededException) Error

func (e *LimitExceededException) Error() string

func (*LimitExceededException) ErrorCode

func (e *LimitExceededException) ErrorCode() string

func (*LimitExceededException) ErrorFault

func (e *LimitExceededException) ErrorFault() smithy.ErrorFault

func (*LimitExceededException) ErrorMessage

func (e *LimitExceededException) ErrorMessage() string

type MetricAggregationType

type MetricAggregationType string
const (
	MetricAggregationTypeAverage MetricAggregationType = "Average"
	MetricAggregationTypeMinimum MetricAggregationType = "Minimum"
	MetricAggregationTypeMaximum MetricAggregationType = "Maximum"
)

Enum values for MetricAggregationType

type MetricDimension

type MetricDimension struct {

	// The value of the dimension.
	//
	// This member is required.
	Value *string

	// The name of the dimension.
	//
	// This member is required.
	Name *string
}

Describes the dimension names and values associated with a metric.

type MetricStatistic

type MetricStatistic string
const (
	MetricStatisticAverage     MetricStatistic = "Average"
	MetricStatisticMinimum     MetricStatistic = "Minimum"
	MetricStatisticMaximum     MetricStatistic = "Maximum"
	MetricStatisticSamplecount MetricStatistic = "SampleCount"
	MetricStatisticSum         MetricStatistic = "Sum"
)

Enum values for MetricStatistic

type MetricType

type MetricType string
const (
	MetricTypeDynamodbreadcapacityutilization          MetricType = "DynamoDBReadCapacityUtilization"
	MetricTypeDynamodbwritecapacityutilization         MetricType = "DynamoDBWriteCapacityUtilization"
	MetricTypeAlbrequestcountpertarget                 MetricType = "ALBRequestCountPerTarget"
	MetricTypeRdsreaderaveragecpuutilization           MetricType = "RDSReaderAverageCPUUtilization"
	MetricTypeRdsreaderaveragedatabaseconnections      MetricType = "RDSReaderAverageDatabaseConnections"
	MetricTypeEc2spotfleetrequestaveragecpuutilization MetricType = "EC2SpotFleetRequestAverageCPUUtilization"
	MetricTypeEc2spotfleetrequestaveragenetworkin      MetricType = "EC2SpotFleetRequestAverageNetworkIn"
	MetricTypeEc2spotfleetrequestaveragenetworkout     MetricType = "EC2SpotFleetRequestAverageNetworkOut"
	MetricTypeSagemakervariantinvocationsperinstance   MetricType = "SageMakerVariantInvocationsPerInstance"
	MetricTypeEcsserviceaveragecpuutilization          MetricType = "ECSServiceAverageCPUUtilization"
	MetricTypeEcsserviceaveragememoryutilization       MetricType = "ECSServiceAverageMemoryUtilization"
	MetricTypeAppstreamaveragecapacityutilization      MetricType = "AppStreamAverageCapacityUtilization"
	MetricTypeComprehendinferenceutilization           MetricType = "ComprehendInferenceUtilization"
	MetricTypeLambdaprovisionedconcurrencyutilization  MetricType = "LambdaProvisionedConcurrencyUtilization"
	MetricTypeCassandrareadcapacityutilization         MetricType = "CassandraReadCapacityUtilization"
	MetricTypeCassandrawritecapacityutilization        MetricType = "CassandraWriteCapacityUtilization"
)

Enum values for MetricType

type ObjectNotFoundException

type ObjectNotFoundException struct {
	Message *string
}

The specified object could not be found. For any operation that depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any operation that deletes or deregisters a resource, this exception is thrown if the resource cannot be found.

func (*ObjectNotFoundException) Error

func (e *ObjectNotFoundException) Error() string

func (*ObjectNotFoundException) ErrorCode

func (e *ObjectNotFoundException) ErrorCode() string

func (*ObjectNotFoundException) ErrorFault

func (e *ObjectNotFoundException) ErrorFault() smithy.ErrorFault

func (*ObjectNotFoundException) ErrorMessage

func (e *ObjectNotFoundException) ErrorMessage() string

type PolicyType

type PolicyType string
const (
	PolicyTypeStepscaling           PolicyType = "StepScaling"
	PolicyTypeTargettrackingscaling PolicyType = "TargetTrackingScaling"
)

Enum values for PolicyType

type PredefinedMetricSpecification

type PredefinedMetricSpecification struct {

	// The metric type. The ALBRequestCountPerTarget metric type applies only to Spot
	// Fleet requests and ECS services.
	//
	// This member is required.
	PredefinedMetricType MetricType

	// Identifies the resource associated with the metric type. You can't specify a
	// resource label unless the metric type is ALBRequestCountPerTarget and there is a
	// target group attached to the Spot Fleet request or ECS service.  <p>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:</p> <ul> <li> <p>app/<load-balancer-name>/<load-balancer-id> is the final
	// portion of the load balancer ARN</p> </li> <li>
	// <p>targetgroup/<target-group-name>/<target-group-id> is the final portion of the
	// target group ARN.</p> </li> </ul> <p>To find the ARN for an Application Load
	// Balancer, use the <a
	// href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html">DescribeLoadBalancers</a>
	// API operation. To find the ARN for the target group, use the <a
	// href="https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html">DescribeTargetGroups</a>
	// API operation.</p>
	ResourceLabel *string
}

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling. Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building Dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) in the Application Auto Scaling User Guide.

type ScalableDimension

type ScalableDimension string
const (
	ScalableDimensionEcsservicedesiredcount                        ScalableDimension = "ecs:service:DesiredCount"
	ScalableDimensionEc2spotfleetrequesttargetcapacity             ScalableDimension = "ec2:spot-fleet-request:TargetCapacity"
	ScalableDimensionEmrinstancegroupinstancecount                 ScalableDimension = "elasticmapreduce:instancegroup:InstanceCount"
	ScalableDimensionAppstreamfleetdesiredcapacity                 ScalableDimension = "appstream:fleet:DesiredCapacity"
	ScalableDimensionDynamodbtablereadcapacityunits                ScalableDimension = "dynamodb:table:ReadCapacityUnits"
	ScalableDimensionDynamodbtablewritecapacityunits               ScalableDimension = "dynamodb:table:WriteCapacityUnits"
	ScalableDimensionDynamodbindexreadcapacityunits                ScalableDimension = "dynamodb:index:ReadCapacityUnits"
	ScalableDimensionDynamodbindexwritecapacityunits               ScalableDimension = "dynamodb:index:WriteCapacityUnits"
	ScalableDimensionRdsclusterreadreplicacount                    ScalableDimension = "rds:cluster:ReadReplicaCount"
	ScalableDimensionSagemakervariantdesiredinstancecount          ScalableDimension = "sagemaker:variant:DesiredInstanceCount"
	ScalableDimensionCustomresourcescalabledimension               ScalableDimension = "custom-resource:ResourceType:Property"
	ScalableDimensionComprehenddocclassifierendpointinferenceunits ScalableDimension = "comprehend:document-classifier-endpoint:DesiredInferenceUnits"
	ScalableDimensionLambdafunctionprovisionedconcurrency          ScalableDimension = "lambda:function:ProvisionedConcurrency"
	ScalableDimensionCassandratablereadcapacityunits               ScalableDimension = "cassandra:table:ReadCapacityUnits"
	ScalableDimensionCassandratablewritecapacityunits              ScalableDimension = "cassandra:table:WriteCapacityUnits"
)

Enum values for ScalableDimension

type ScalableTarget

type ScalableTarget struct {

	// Specifies whether the scaling activities for a scalable target are in a
	// suspended state.
	SuspendedState *SuspendedState

	// The scalable dimension associated with the scalable target. This string consists
	// of the service namespace, resource type, and scaling property.
	//
	//     *
	// ecs:service:DesiredCount - The desired task count of an ECS service.
	//
	//     *
	// ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet
	// request.
	//
	//     * elasticmapreduce:instancegroup:InstanceCount - The instance
	// count of an EMR Instance Group.
	//
	//     * appstream:fleet:DesiredCapacity - The
	// desired capacity of an AppStream 2.0 fleet.
	//
	//     *
	// dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB
	// table.
	//
	//     * dynamodb:table:WriteCapacityUnits - The provisioned write capacity
	// for a DynamoDB table.
	//
	//     * dynamodb:index:ReadCapacityUnits - The provisioned
	// read capacity for a DynamoDB global secondary index.
	//
	//     *
	// dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB global secondary index.
	//
	//     * rds:cluster:ReadReplicaCount - The count
	// of Aurora Replicas in an Aurora DB cluster. Available for Aurora
	// MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
	//
	//     *
	// sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an
	// Amazon SageMaker model endpoint variant.
	//
	//     *
	// custom-resource:ResourceType:Property - The scalable dimension for a custom
	// resource provided by your own application or service.
	//
	//     *
	// comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of
	// inference units for an Amazon Comprehend document classification endpoint.
	//
	//
	// * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a
	// Lambda function.
	//
	//     * cassandra:table:ReadCapacityUnits - The provisioned read
	// capacity for an Amazon Keyspaces table.
	//
	//     *
	// cassandra:table:WriteCapacityUnits - The provisioned write capacity for an
	// Amazon Keyspaces table.
	//
	// This member is required.
	ScalableDimension ScalableDimension

	// The Unix timestamp for when the scalable target was created.
	//
	// This member is required.
	CreationTime *time.Time

	// The namespace of the AWS service that provides the resource, or a
	// custom-resource.
	//
	// This member is required.
	ServiceNamespace ServiceNamespace

	// The identifier of the resource associated with the scalable target. This string
	// consists of the resource type and unique identifier.
	//
	//     * ECS service - The
	// resource type is service and the unique identifier is the cluster name and
	// service name. Example: service/default/sample-webapp.
	//
	//     * Spot Fleet request
	// - The resource type is spot-fleet-request and the unique identifier is the Spot
	// Fleet request ID. Example:
	// spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//     * EMR cluster
	// - The resource type is instancegroup and the unique identifier is the cluster ID
	// and instance group ID. Example:
	// instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//     * AppStream 2.0 fleet - The
	// resource type is fleet and the unique identifier is the fleet name. Example:
	// fleet/sample-fleet.
	//
	//     * DynamoDB table - The resource type is table and the
	// unique identifier is the table name. Example: table/my-table.
	//
	//     * DynamoDB
	// global secondary index - The resource type is index and the unique identifier is
	// the index name. Example: table/my-table/index/my-table-index.
	//
	//     * Aurora DB
	// cluster - The resource type is cluster and the unique identifier is the cluster
	// name. Example: cluster:my-db-cluster.
	//
	//     * Amazon SageMaker endpoint variant -
	// The resource type is variant and the unique identifier is the resource ID.
	// Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//     * Custom resources
	// are not supported with a resource type. This parameter must specify the
	// OutputValue from the CloudFormation template stack used to access the resources.
	// The unique identifier is defined by the service provider. More information is
	// available in our GitHub repository
	// (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//     * Amazon
	// Comprehend document classification endpoint - The resource type and unique
	// identifier are specified using the endpoint ARN. Example:
	// arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//
	// * Lambda provisioned concurrency - The resource type is function and the unique
	// identifier is the function name with a function version or alias name suffix
	// that is not $LATEST. Example: function:my-function:prod or
	// function:my-function:1.
	//
	//     * Amazon Keyspaces table - The resource type is
	// table and the unique identifier is the table name. Example:
	// keyspace/mykeyspace/table/mytable.
	//
	// This member is required.
	ResourceId *string

	// The ARN of an IAM role that allows Application Auto Scaling to modify the
	// scalable target on your behalf.
	//
	// This member is required.
	RoleARN *string

	// The minimum value to scale to in response to a scale-in activity.
	//
	// This member is required.
	MinCapacity *int32

	// The maximum value to scale to in response to a scale-out activity.
	//
	// This member is required.
	MaxCapacity *int32
}

Represents a scalable target.

type ScalableTargetAction

type ScalableTargetAction struct {

	// The minimum capacity. For Lambda provisioned concurrency, the minimum value
	// allowed is 0. For all other resources, the minimum value allowed is 1.
	MinCapacity *int32

	// The maximum capacity.
	MaxCapacity *int32
}

Represents the minimum and maximum capacity for a scheduled action.

type ScalingActivity

type ScalingActivity struct {

	// Indicates the status of the scaling activity.
	//
	// This member is required.
	StatusCode ScalingActivityStatusCode

	// The details about the scaling activity.
	Details *string

	// The Unix timestamp for when the scaling activity ended.
	EndTime *time.Time

	// A simple description of what action the scaling activity intends to accomplish.
	//
	// This member is required.
	Description *string

	// A simple message about the current status of the scaling activity.
	StatusMessage *string

	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property.
	//
	//     * ecs:service:DesiredCount - The desired task
	// count of an ECS service.
	//
	//     * ec2:spot-fleet-request:TargetCapacity - The
	// target capacity of a Spot Fleet request.
	//
	//     *
	// elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR
	// Instance Group.
	//
	//     * appstream:fleet:DesiredCapacity - The desired capacity of
	// an AppStream 2.0 fleet.
	//
	//     * dynamodb:table:ReadCapacityUnits - The
	// provisioned read capacity for a DynamoDB table.
	//
	//     *
	// dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB table.
	//
	//     * dynamodb:index:ReadCapacityUnits - The provisioned read
	// capacity for a DynamoDB global secondary index.
	//
	//     *
	// dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB global secondary index.
	//
	//     * rds:cluster:ReadReplicaCount - The count
	// of Aurora Replicas in an Aurora DB cluster. Available for Aurora
	// MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
	//
	//     *
	// sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an
	// Amazon SageMaker model endpoint variant.
	//
	//     *
	// custom-resource:ResourceType:Property - The scalable dimension for a custom
	// resource provided by your own application or service.
	//
	//     *
	// comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of
	// inference units for an Amazon Comprehend document classification endpoint.
	//
	//
	// * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a
	// Lambda function.
	//
	//     * cassandra:table:ReadCapacityUnits - The provisioned read
	// capacity for an Amazon Keyspaces table.
	//
	//     *
	// cassandra:table:WriteCapacityUnits - The provisioned write capacity for an
	// Amazon Keyspaces table.
	//
	// This member is required.
	ScalableDimension ScalableDimension

	// The namespace of the AWS service that provides the resource, or a
	// custom-resource.
	//
	// This member is required.
	ServiceNamespace ServiceNamespace

	// The identifier of the resource associated with the scaling activity. This string
	// consists of the resource type and unique identifier.
	//
	//     * ECS service - The
	// resource type is service and the unique identifier is the cluster name and
	// service name. Example: service/default/sample-webapp.
	//
	//     * Spot Fleet request
	// - The resource type is spot-fleet-request and the unique identifier is the Spot
	// Fleet request ID. Example:
	// spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//     * EMR cluster
	// - The resource type is instancegroup and the unique identifier is the cluster ID
	// and instance group ID. Example:
	// instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//     * AppStream 2.0 fleet - The
	// resource type is fleet and the unique identifier is the fleet name. Example:
	// fleet/sample-fleet.
	//
	//     * DynamoDB table - The resource type is table and the
	// unique identifier is the table name. Example: table/my-table.
	//
	//     * DynamoDB
	// global secondary index - The resource type is index and the unique identifier is
	// the index name. Example: table/my-table/index/my-table-index.
	//
	//     * Aurora DB
	// cluster - The resource type is cluster and the unique identifier is the cluster
	// name. Example: cluster:my-db-cluster.
	//
	//     * Amazon SageMaker endpoint variant -
	// The resource type is variant and the unique identifier is the resource ID.
	// Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//     * Custom resources
	// are not supported with a resource type. This parameter must specify the
	// OutputValue from the CloudFormation template stack used to access the resources.
	// The unique identifier is defined by the service provider. More information is
	// available in our GitHub repository
	// (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//     * Amazon
	// Comprehend document classification endpoint - The resource type and unique
	// identifier are specified using the endpoint ARN. Example:
	// arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//
	// * Lambda provisioned concurrency - The resource type is function and the unique
	// identifier is the function name with a function version or alias name suffix
	// that is not $LATEST. Example: function:my-function:prod or
	// function:my-function:1.
	//
	//     * Amazon Keyspaces table - The resource type is
	// table and the unique identifier is the table name. Example:
	// keyspace/mykeyspace/table/mytable.
	//
	// This member is required.
	ResourceId *string

	// A simple description of what caused the scaling activity to happen.
	//
	// This member is required.
	Cause *string

	// The Unix timestamp for when the scaling activity began.
	//
	// This member is required.
	StartTime *time.Time

	// The unique identifier of the scaling activity.
	//
	// This member is required.
	ActivityId *string
}

Represents a scaling activity.

type ScalingActivityStatusCode

type ScalingActivityStatusCode string
const (
	ScalingActivityStatusCodePending     ScalingActivityStatusCode = "Pending"
	ScalingActivityStatusCodeInprogress  ScalingActivityStatusCode = "InProgress"
	ScalingActivityStatusCodeSuccessful  ScalingActivityStatusCode = "Successful"
	ScalingActivityStatusCodeOverridden  ScalingActivityStatusCode = "Overridden"
	ScalingActivityStatusCodeUnfulfilled ScalingActivityStatusCode = "Unfulfilled"
	ScalingActivityStatusCodeFailed      ScalingActivityStatusCode = "Failed"
)

Enum values for ScalingActivityStatusCode

type ScalingPolicy

type ScalingPolicy struct {

	// The identifier of the resource associated with the scaling policy. This string
	// consists of the resource type and unique identifier.
	//
	//     * ECS service - The
	// resource type is service and the unique identifier is the cluster name and
	// service name. Example: service/default/sample-webapp.
	//
	//     * Spot Fleet request
	// - The resource type is spot-fleet-request and the unique identifier is the Spot
	// Fleet request ID. Example:
	// spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//     * EMR cluster
	// - The resource type is instancegroup and the unique identifier is the cluster ID
	// and instance group ID. Example:
	// instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//     * AppStream 2.0 fleet - The
	// resource type is fleet and the unique identifier is the fleet name. Example:
	// fleet/sample-fleet.
	//
	//     * DynamoDB table - The resource type is table and the
	// unique identifier is the table name. Example: table/my-table.
	//
	//     * DynamoDB
	// global secondary index - The resource type is index and the unique identifier is
	// the index name. Example: table/my-table/index/my-table-index.
	//
	//     * Aurora DB
	// cluster - The resource type is cluster and the unique identifier is the cluster
	// name. Example: cluster:my-db-cluster.
	//
	//     * Amazon SageMaker endpoint variant -
	// The resource type is variant and the unique identifier is the resource ID.
	// Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//     * Custom resources
	// are not supported with a resource type. This parameter must specify the
	// OutputValue from the CloudFormation template stack used to access the resources.
	// The unique identifier is defined by the service provider. More information is
	// available in our GitHub repository
	// (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//     * Amazon
	// Comprehend document classification endpoint - The resource type and unique
	// identifier are specified using the endpoint ARN. Example:
	// arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//
	// * Lambda provisioned concurrency - The resource type is function and the unique
	// identifier is the function name with a function version or alias name suffix
	// that is not $LATEST. Example: function:my-function:prod or
	// function:my-function:1.
	//
	//     * Amazon Keyspaces table - The resource type is
	// table and the unique identifier is the table name. Example:
	// keyspace/mykeyspace/table/mytable.
	//
	// This member is required.
	ResourceId *string

	// The Amazon Resource Name (ARN) of the scaling policy.
	//
	// This member is required.
	PolicyARN *string

	// A target tracking scaling policy.
	TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration

	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property.
	//
	//     * ecs:service:DesiredCount - The desired task
	// count of an ECS service.
	//
	//     * ec2:spot-fleet-request:TargetCapacity - The
	// target capacity of a Spot Fleet request.
	//
	//     *
	// elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR
	// Instance Group.
	//
	//     * appstream:fleet:DesiredCapacity - The desired capacity of
	// an AppStream 2.0 fleet.
	//
	//     * dynamodb:table:ReadCapacityUnits - The
	// provisioned read capacity for a DynamoDB table.
	//
	//     *
	// dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB table.
	//
	//     * dynamodb:index:ReadCapacityUnits - The provisioned read
	// capacity for a DynamoDB global secondary index.
	//
	//     *
	// dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB global secondary index.
	//
	//     * rds:cluster:ReadReplicaCount - The count
	// of Aurora Replicas in an Aurora DB cluster. Available for Aurora
	// MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
	//
	//     *
	// sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an
	// Amazon SageMaker model endpoint variant.
	//
	//     *
	// custom-resource:ResourceType:Property - The scalable dimension for a custom
	// resource provided by your own application or service.
	//
	//     *
	// comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of
	// inference units for an Amazon Comprehend document classification endpoint.
	//
	//
	// * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a
	// Lambda function.
	//
	//     * cassandra:table:ReadCapacityUnits - The provisioned read
	// capacity for an Amazon Keyspaces table.
	//
	//     *
	// cassandra:table:WriteCapacityUnits - The provisioned write capacity for an
	// Amazon Keyspaces table.
	//
	// This member is required.
	ScalableDimension ScalableDimension

	// The scaling policy type.
	//
	// This member is required.
	PolicyType PolicyType

	// The CloudWatch alarms associated with the scaling policy.
	Alarms []*Alarm

	// A step scaling policy.
	StepScalingPolicyConfiguration *StepScalingPolicyConfiguration

	// The name of the scaling policy.
	//
	// This member is required.
	PolicyName *string

	// The namespace of the AWS service that provides the resource, or a
	// custom-resource.
	//
	// This member is required.
	ServiceNamespace ServiceNamespace

	// The Unix timestamp for when the scaling policy was created.
	//
	// This member is required.
	CreationTime *time.Time
}

Represents a scaling policy to use with Application Auto Scaling.

type ScheduledAction

type ScheduledAction struct {

	// The Amazon Resource Name (ARN) of the scheduled action.
	//
	// This member is required.
	ScheduledActionARN *string

	// The namespace of the AWS service that provides the resource, or a
	// custom-resource.
	//
	// This member is required.
	ServiceNamespace ServiceNamespace

	// The schedule for this action. The following formats are supported:
	//
	//     * At
	// expressions - "at(yyyy-mm-ddThh:mm:ss)"
	//
	//     * Rate expressions - "rate(value
	// unit)"
	//
	//     * Cron expressions - "cron(fields)"
	//
	// At expressions are useful for
	// one-time schedules. Specify the time in UTC. For rate expressions, value is a
	// positive integer and unit is minute | minutes | hour | hours | day | days. For
	// more information about cron expressions, see Cron Expressions
	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions)
	// in the Amazon CloudWatch Events User Guide. For examples of using these
	// expressions, see Scheduled Scaling
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html)
	// in the Application Auto Scaling User Guide.
	//
	// This member is required.
	Schedule *string

	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property.
	//
	//     * ecs:service:DesiredCount - The desired task
	// count of an ECS service.
	//
	//     * ec2:spot-fleet-request:TargetCapacity - The
	// target capacity of a Spot Fleet request.
	//
	//     *
	// elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR
	// Instance Group.
	//
	//     * appstream:fleet:DesiredCapacity - The desired capacity of
	// an AppStream 2.0 fleet.
	//
	//     * dynamodb:table:ReadCapacityUnits - The
	// provisioned read capacity for a DynamoDB table.
	//
	//     *
	// dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB table.
	//
	//     * dynamodb:index:ReadCapacityUnits - The provisioned read
	// capacity for a DynamoDB global secondary index.
	//
	//     *
	// dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a
	// DynamoDB global secondary index.
	//
	//     * rds:cluster:ReadReplicaCount - The count
	// of Aurora Replicas in an Aurora DB cluster. Available for Aurora
	// MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
	//
	//     *
	// sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an
	// Amazon SageMaker model endpoint variant.
	//
	//     *
	// custom-resource:ResourceType:Property - The scalable dimension for a custom
	// resource provided by your own application or service.
	//
	//     *
	// comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of
	// inference units for an Amazon Comprehend document classification endpoint.
	//
	//
	// * lambda:function:ProvisionedConcurrency - The provisioned concurrency for a
	// Lambda function.
	//
	//     * cassandra:table:ReadCapacityUnits - The provisioned read
	// capacity for an Amazon Keyspaces table.
	//
	//     *
	// cassandra:table:WriteCapacityUnits - The provisioned write capacity for an
	// Amazon Keyspaces table.
	ScalableDimension ScalableDimension

	// The name of the scheduled action.
	//
	// This member is required.
	ScheduledActionName *string

	// The date and time that the scheduled action was created.
	//
	// This member is required.
	CreationTime *time.Time

	// The new minimum and maximum capacity. You can set both values or just one. At
	// the scheduled time, if the current capacity is below the minimum capacity,
	// Application Auto Scaling scales out to the minimum capacity. If the current
	// capacity is above the maximum capacity, Application Auto Scaling scales in to
	// the maximum capacity.
	ScalableTargetAction *ScalableTargetAction

	// The date and time that the action is scheduled to end.
	EndTime *time.Time

	// The date and time that the action is scheduled to begin.
	StartTime *time.Time

	// The identifier of the resource associated with the scaling policy. This string
	// consists of the resource type and unique identifier.
	//
	//     * ECS service - The
	// resource type is service and the unique identifier is the cluster name and
	// service name. Example: service/default/sample-webapp.
	//
	//     * Spot Fleet request
	// - The resource type is spot-fleet-request and the unique identifier is the Spot
	// Fleet request ID. Example:
	// spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
	//
	//     * EMR cluster
	// - The resource type is instancegroup and the unique identifier is the cluster ID
	// and instance group ID. Example:
	// instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
	//
	//     * AppStream 2.0 fleet - The
	// resource type is fleet and the unique identifier is the fleet name. Example:
	// fleet/sample-fleet.
	//
	//     * DynamoDB table - The resource type is table and the
	// unique identifier is the table name. Example: table/my-table.
	//
	//     * DynamoDB
	// global secondary index - The resource type is index and the unique identifier is
	// the index name. Example: table/my-table/index/my-table-index.
	//
	//     * Aurora DB
	// cluster - The resource type is cluster and the unique identifier is the cluster
	// name. Example: cluster:my-db-cluster.
	//
	//     * Amazon SageMaker endpoint variant -
	// The resource type is variant and the unique identifier is the resource ID.
	// Example: endpoint/my-end-point/variant/KMeansClustering.
	//
	//     * Custom resources
	// are not supported with a resource type. This parameter must specify the
	// OutputValue from the CloudFormation template stack used to access the resources.
	// The unique identifier is defined by the service provider. More information is
	// available in our GitHub repository
	// (https://github.com/aws/aws-auto-scaling-custom-resource).
	//
	//     * Amazon
	// Comprehend document classification endpoint - The resource type and unique
	// identifier are specified using the endpoint ARN. Example:
	// arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.
	//
	//
	// * Lambda provisioned concurrency - The resource type is function and the unique
	// identifier is the function name with a function version or alias name suffix
	// that is not $LATEST. Example: function:my-function:prod or
	// function:my-function:1.
	//
	//     * Amazon Keyspaces table - The resource type is
	// table and the unique identifier is the table name. Example:
	// keyspace/mykeyspace/table/mytable.
	//
	// This member is required.
	ResourceId *string
}

Represents a scheduled action.

type ServiceNamespace

type ServiceNamespace string
const (
	ServiceNamespaceEcs             ServiceNamespace = "ecs"
	ServiceNamespaceEmr             ServiceNamespace = "elasticmapreduce"
	ServiceNamespaceEc2             ServiceNamespace = "ec2"
	ServiceNamespaceAppstream       ServiceNamespace = "appstream"
	ServiceNamespaceDynamodb        ServiceNamespace = "dynamodb"
	ServiceNamespaceRds             ServiceNamespace = "rds"
	ServiceNamespaceSagemaker       ServiceNamespace = "sagemaker"
	ServiceNamespaceCustom_resource ServiceNamespace = "custom-resource"
	ServiceNamespaceComprehend      ServiceNamespace = "comprehend"
	ServiceNamespaceLambda          ServiceNamespace = "lambda"
	ServiceNamespaceCassandra       ServiceNamespace = "cassandra"
)

Enum values for ServiceNamespace

type StepAdjustment

type StepAdjustment struct {

	// The amount by which to scale, based on the specified adjustment type. A positive
	// value adds to the current capacity while a negative number removes from the
	// current capacity.
	//
	// This member is required.
	ScalingAdjustment *int32

	// The upper bound for the difference between the alarm threshold and the
	// CloudWatch metric. If the metric value is above the breach threshold, the upper
	// bound is exclusive (the metric must be less than the threshold plus the upper
	// bound). Otherwise, it is inclusive (the metric must be less than or equal to the
	// threshold plus the upper bound). A null value indicates positive infinity. The
	// upper bound must be greater than the lower bound.
	MetricIntervalUpperBound *float64

	// The lower bound for the difference between the alarm threshold and the
	// CloudWatch metric. If the metric value is above the breach threshold, the lower
	// bound is inclusive (the metric must be greater than or equal to the threshold
	// plus the lower bound). Otherwise, it is exclusive (the metric must be greater
	// than the threshold plus the lower bound). A null value indicates negative
	// infinity.
	MetricIntervalLowerBound *float64
}

Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html). Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm. For the following examples, suppose that you have an alarm with a breach threshold of 50:

greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

gap.

adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

be null in the same step adjustment.

type StepScalingPolicyConfiguration

type StepScalingPolicyConfiguration struct {

	// The amount of time, in seconds, to wait for a previous scaling activity to take
	// effect. With scale-out policies, the intention is to continuously (but not
	// excessively) scale out. After Application Auto Scaling successfully scales out
	// using a step scaling policy, it starts to calculate the cooldown time. While the
	// cooldown period is in effect, capacity added by the initiating scale-out
	// activity is calculated as part of the desired capacity for the next scale-out
	// activity. For example, when an alarm triggers a step scaling policy to increase
	// the capacity by 2, the scaling activity completes successfully, and a cooldown
	// period starts. If the alarm triggers again during the cooldown period but at a
	// more aggressive step adjustment of 3, the previous increase of 2 is considered
	// part of the current capacity. Therefore, only 1 is added to the capacity. With
	// scale-in policies, the intention is to scale in conservatively to protect your
	// application’s availability, so scale-in activities are blocked until the
	// cooldown period has expired. However, if another alarm triggers a scale-out
	// activity during the cooldown period after a scale-in activity, Application Auto
	// Scaling scales out the target immediately. In this case, the cooldown period for
	// the scale-in activity stops and doesn't complete. Application Auto Scaling
	// provides a default value of 300 for the following scalable targets:
	//
	//     * ECS
	// services
	//
	//     * Spot Fleet requests
	//
	//     * EMR clusters
	//
	//     * AppStream 2.0
	// fleets
	//
	//     * Aurora DB clusters
	//
	//     * Amazon SageMaker endpoint variants
	//
	//
	// * Custom resources
	//
	// For all other scalable targets, the default value is 0:
	//
	//
	// * DynamoDB tables
	//
	//     * DynamoDB global secondary indexes
	//
	//     * Amazon
	// Comprehend document classification endpoints
	//
	//     * Lambda provisioned
	// concurrency
	//
	//     * Amazon Keyspaces tables
	Cooldown *int32

	// A set of adjustments that enable you to scale based on the size of the alarm
	// breach. At least one step adjustment is required if you are adding a new step
	// scaling policy configuration.
	StepAdjustments []*StepAdjustment

	// Specifies whether the ScalingAdjustment value in a StepAdjustment
	// (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html)
	// is an absolute number or a percentage of the current capacity. AdjustmentType is
	// required if you are adding a new step scaling policy configuration.
	AdjustmentType AdjustmentType

	// The aggregation type for the CloudWatch metrics. Valid values are Minimum,
	// Maximum, and Average. If the aggregation type is null, the value is treated as
	// Average.
	MetricAggregationType MetricAggregationType

	// The minimum value to scale by when scaling by percentages. For example, suppose
	// that you create a step scaling policy to scale out an Amazon ECS service by 25
	// percent and you specify a MinAdjustmentMagnitude of 2. If the service has 4
	// tasks and the scaling policy is performed, 25 percent of 4 is 1. However,
	// because you specified a MinAdjustmentMagnitude of 2, Application Auto Scaling
	// scales out the service by 2 tasks. Valid only if the adjustment type is
	// PercentChangeInCapacity.
	MinAdjustmentMagnitude *int32
}

Represents a step scaling policy configuration to use with Application Auto Scaling.

type SuspendedState

type SuspendedState struct {

	// Whether scale in by a target tracking scaling policy or a step scaling policy is
	// suspended. Set the value to true if you don't want Application Auto Scaling to
	// remove capacity when a scaling policy is triggered. The default is false.
	DynamicScalingInSuspended *bool

	// Whether scheduled scaling is suspended. Set the value to true if you don't want
	// Application Auto Scaling to add or remove capacity by initiating scheduled
	// actions. The default is false.
	ScheduledScalingSuspended *bool

	// Whether scale out by a target tracking scaling policy or a step scaling policy
	// is suspended. Set the value to true if you don't want Application Auto Scaling
	// to add capacity when a scaling policy is triggered. The default is false.
	DynamicScalingOutSuspended *bool
}

Specifies whether the scaling activities for a scalable target are in a suspended state.

type TargetTrackingScalingPolicyConfiguration

type TargetTrackingScalingPolicyConfiguration struct {

	// The amount of time, in seconds, to wait for a previous scale-out activity to
	// take effect. With the scale-out cooldown period, the intention is to
	// continuously (but not excessively) scale out. After Application Auto Scaling
	// successfully scales out using a target tracking scaling policy, it starts to
	// calculate the cooldown time. While the scale-out cooldown period is in effect,
	// the capacity added by the initiating scale-out activity is calculated as part of
	// the desired capacity for the next scale-out activity. Application Auto Scaling
	// provides a default value of 300 for the following scalable targets:
	//
	//     * ECS
	// services
	//
	//     * Spot Fleet requests
	//
	//     * EMR clusters
	//
	//     * AppStream 2.0
	// fleets
	//
	//     * Aurora DB clusters
	//
	//     * Amazon SageMaker endpoint variants
	//
	//
	// * Custom resources
	//
	// For all other scalable targets, the default value is 0:
	//
	//
	// * DynamoDB tables
	//
	//     * DynamoDB global secondary indexes
	//
	//     * Amazon
	// Comprehend document classification endpoints
	//
	//     * Lambda provisioned
	// concurrency
	//
	//     * Amazon Keyspaces tables
	ScaleOutCooldown *int32

	// A customized metric. You can specify either a predefined metric or a customized
	// metric.
	CustomizedMetricSpecification *CustomizedMetricSpecification

	// A predefined metric. You can specify either a predefined metric or a customized
	// metric.
	PredefinedMetricSpecification *PredefinedMetricSpecification

	// The amount of time, in seconds, after a scale-in activity completes before
	// another scale-in activity can start. With the scale-in cooldown period, the
	// intention is to scale in conservatively to protect your application’s
	// availability, so scale-in activities are blocked until the cooldown period has
	// expired. However, if another alarm triggers a scale-out activity during the
	// scale-in cooldown period, Application Auto Scaling scales out the target
	// immediately. In this case, the scale-in cooldown period stops and doesn't
	// complete. Application Auto Scaling provides a default value of 300 for the
	// following scalable targets:
	//
	//     * ECS services
	//
	//     * Spot Fleet requests
	//
	//
	// * EMR clusters
	//
	//     * AppStream 2.0 fleets
	//
	//     * Aurora DB clusters
	//
	//     *
	// Amazon SageMaker endpoint variants
	//
	//     * Custom resources
	//
	// For all other
	// scalable targets, the default value is 0:
	//
	//     * DynamoDB tables
	//
	//     * DynamoDB
	// global secondary indexes
	//
	//     * Amazon Comprehend document classification
	// endpoints
	//
	//     * Lambda provisioned concurrency
	//
	//     * Amazon Keyspaces tables
	ScaleInCooldown *int32

	// The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
	// (Base 10) or 2e-360 to 2e360 (Base 2).
	//
	// This member is required.
	TargetValue *float64

	// Indicates whether scale in by the target tracking scaling policy is disabled. If
	// the value is true, scale in is disabled and the target tracking scaling policy
	// won't remove capacity from the scalable target. Otherwise, scale in is enabled
	// and the target tracking scaling policy can remove capacity from the scalable
	// target. The default value is false.
	DisableScaleIn *bool
}

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

type ValidationException

type ValidationException struct {
	Message *string
}

An exception was thrown for a validation issue. Review the available parameters for the API request.

func (*ValidationException) Error

func (e *ValidationException) Error() string

func (*ValidationException) ErrorCode

func (e *ValidationException) ErrorCode() string

func (*ValidationException) ErrorFault

func (e *ValidationException) ErrorFault() smithy.ErrorFault

func (*ValidationException) ErrorMessage

func (e *ValidationException) ErrorMessage() string

Source Files

enums.go errors.go types.go

Version
v0.26.0
Published
Oct 1, 2020
Platform
js/wasm
Imports
3 packages
Last checked
6 hours ago

Tools for package owners.