applicationautoscaling

package module
v0.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const ServiceAPIVersion = "2016-02-06"
View Source
const ServiceID = "Application Auto Scaling"

Variables

This section is empty.

Functions

func AddResolveEndpointMiddleware

func AddResolveEndpointMiddleware(stack *middleware.Stack, options ResolveEndpointMiddlewareOptions)

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func RemoveResolveEndpointMiddleware

func RemoveResolveEndpointMiddleware(stack *middleware.Stack) error

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

With Application Auto Scaling, you can configure automatic scaling for the following resources:

  • Amazon ECS services

  • Amazon EC2 Spot Fleet

requests

  • Amazon EMR clusters

  • Amazon AppStream 2.0 fleets

    *

Amazon DynamoDB tables and global secondary indexes throughput capacity

*

Amazon Aurora Replicas

  • Amazon SageMaker endpoint variants

  • Custom

resources provided by your own applications or services

  • Amazon Comprehend

document classification endpoints

  • AWS Lambda function provisioned

concurrency

  • Amazon Keyspaces (for Apache Cassandra) tables

API Summary The Application Auto Scaling service API includes three key sets of actions:

* Register and manage scalable targets - Register AWS or custom resources as scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and retrieve information on existing scalable targets.

  • Configure and manage automatic scaling - Define scaling

policies to dynamically scale your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, and retrieve your recent scaling activity history.

  • Suspend and resume scaling - Temporarily suspend and

later resume automatic scaling by calling the RegisterScalableTarget (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) API action for any Application Auto Scaling scalable target. You can suspend and resume (individually or in combination) scale-out activities that are triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, and scheduled scaling.

<p>To learn more about Application Auto Scaling,

including information about granting IAM users required permissions for Application Auto Scaling actions, see the <a href="https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html">Application Auto Scaling User Guide</a>.</p>

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) DeleteScalingPolicy

func (c *Client) DeleteScalingPolicy(ctx context.Context, params *DeleteScalingPolicyInput, optFns ...func(*Options)) (*DeleteScalingPolicyOutput, error)

Deletes the specified scaling policy for an Application Auto Scaling scalable target. Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action. For more information, see Delete a Step Scaling Policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy) and Delete a Target Tracking Scaling Policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy) in the Application Auto Scaling User Guide.

func (*Client) DeleteScheduledAction

func (c *Client) DeleteScheduledAction(ctx context.Context, params *DeleteScheduledActionInput, optFns ...func(*Options)) (*DeleteScheduledActionOutput, error)

Deletes the specified scheduled action for an Application Auto Scaling scalable target. For more information, see Delete a Scheduled Action (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#delete-scheduled-action) in the Application Auto Scaling User Guide.

func (*Client) DeregisterScalableTarget

func (c *Client) DeregisterScalableTarget(ctx context.Context, params *DeregisterScalableTargetInput, optFns ...func(*Options)) (*DeregisterScalableTargetOutput, error)

Deregisters an Application Auto Scaling scalable target when you have finished using it. To see which resources have been registered, use DescribeScalableTargets (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). Deregistering a scalable target deletes the scaling policies and the scheduled actions that are associated with it.

func (*Client) DescribeScalableTargets

func (c *Client) DescribeScalableTargets(ctx context.Context, params *DescribeScalableTargetsInput, optFns ...func(*Options)) (*DescribeScalableTargetsOutput, error)

Gets information about the scalable targets in the specified namespace. You can filter the results using ResourceIds and ScalableDimension.

func (*Client) DescribeScalingActivities

func (c *Client) DescribeScalingActivities(ctx context.Context, params *DescribeScalingActivitiesInput, optFns ...func(*Options)) (*DescribeScalingActivitiesOutput, error)

Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks. You can filter the results using ResourceId and ScalableDimension.

func (*Client) DescribeScalingPolicies

func (c *Client) DescribeScalingPolicies(ctx context.Context, params *DescribeScalingPoliciesInput, optFns ...func(*Options)) (*DescribeScalingPoliciesOutput, error)

Describes the Application Auto Scaling scaling policies for the specified service namespace. You can filter the results using ResourceId, ScalableDimension, and PolicyNames. For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the Application Auto Scaling User Guide.

func (*Client) DescribeScheduledActions

func (c *Client) DescribeScheduledActions(ctx context.Context, params *DescribeScheduledActionsInput, optFns ...func(*Options)) (*DescribeScheduledActionsOutput, error)

Describes the Application Auto Scaling scheduled actions for the specified service namespace. You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames parameters. For more information, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) in the Application Auto Scaling User Guide.

func (*Client) PutScalingPolicy

func (c *Client) PutScalingPolicy(ctx context.Context, params *PutScalingPolicyInput, optFns ...func(*Options)) (*PutScalingPolicyOutput, error)

Creates or updates a scaling policy for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy until you have registered the resource as a scalable target. Multiple scaling policies can be in force at the same time for the same scalable target. You can have one or more target tracking scaling policies, one or more step scaling policies, or both. However, there is a chance that multiple policies could conflict, instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives precedence to the policy that provides the largest capacity for both scale out and scale in. For example, if one policy increases capacity by 3, another policy increases capacity by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20) and scales out to 30. We recommend caution, however, when using target tracking scaling policies with step scaling policies because conflicts between these policies can cause undesirable behavior. For example, if the step scaling policy initiates a scale-in activity before the target tracking policy is ready to scale in, the scale-in activity will not be blocked. After the scale-in activity completes, the target tracking policy could instruct the scalable target to scale out again. For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the Application Auto Scaling User Guide. If a scalable target is deregistered, the scalable target is no longer available to execute scaling policies. Any scaling policies that were specified for the scalable target are deleted.

func (*Client) PutScheduledAction

func (c *Client) PutScheduledAction(ctx context.Context, params *PutScheduledActionInput, optFns ...func(*Options)) (*PutScheduledActionOutput, error)

Creates or updates a scheduled action for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you have registered the resource as a scalable target. When start and end times are specified with a recurring schedule using a cron expression or rates, they form the boundaries of when the recurring action starts and stops. To update a scheduled action, specify the parameters that you want to change. If you don't specify start and end times, the old values are deleted. For more information, see Scheduled Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) in the Application Auto Scaling User Guide. If a scalable target is deregistered, the scalable target is no longer available to run scheduled actions. Any scheduled actions that were specified for the scalable target are deleted.

func (*Client) RegisterScalableTarget

func (c *Client) RegisterScalableTarget(ctx context.Context, params *RegisterScalableTargetInput, optFns ...func(*Options)) (*RegisterScalableTargetOutput, error)

Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace. When you register a new scalable target, you must specify values for minimum and maximum capacity. Application Auto Scaling scaling policies will not scale capacity to values that are outside of this range. After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). You can also view the scaling policies for a service namespace by using DescribeScalableTargets (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html). To update a scalable target, specify the parameters that you want to change. Include the parameters that identify the scalable target: resource ID, scalable dimension, and namespace. Any parameters that you don't specify are not changed by this update request.

type DeleteScalingPolicyInput

type DeleteScalingPolicyInput struct {
	// 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.
	ResourceId *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 types.ScalableDimension
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The name of the scaling policy.
	PolicyName *string
}

type DeleteScalingPolicyOutput

type DeleteScalingPolicyOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeleteScheduledActionInput

type DeleteScheduledActionInput struct {
	// 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 types.ScalableDimension
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The identifier of the resource associated with the scheduled action. 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.
	ResourceId *string
	// The name of the scheduled action.
	ScheduledActionName *string
}

type DeleteScheduledActionOutput

type DeleteScheduledActionOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DeregisterScalableTargetInput

type DeregisterScalableTargetInput struct {
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// 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.
	ScalableDimension types.ScalableDimension
	// 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.
	ResourceId *string
}

type DeregisterScalableTargetOutput

type DeregisterScalableTargetOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeScalableTargetsInput

type DescribeScalableTargetsInput struct {
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The maximum number of scalable targets. This value can be between 1 and 50. The
	// default value is 50. If this parameter is used, the operation returns up to
	// MaxResults results at a time, along with a NextToken value. To get the next set
	// of results, include the NextToken value in a subsequent call. If this parameter
	// is not used, the operation returns up to 50 results and a NextToken value, if
	// applicable.
	MaxResults *int32
	// The identifier of the resource associated with the scalable target. This string
	// consists of the resource type and unique identifier. If you specify a scalable
	// dimension, you must also specify a resource ID.
	//
	//     * 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.
	ResourceIds []*string
	// The token for the next set of results.
	NextToken *string
	// The scalable dimension associated with the scalable target. This string consists
	// of the service namespace, resource type, and scaling property. If you specify a
	// scalable dimension, you must also specify a resource ID.
	//
	//     *
	// 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 types.ScalableDimension
}

type DescribeScalableTargetsOutput

type DescribeScalableTargetsOutput struct {
	// The scalable targets that match the request parameters.
	ScalableTargets []*types.ScalableTarget
	// The token required to get the next set of results. This value is null if there
	// are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeScalingActivitiesInput

type DescribeScalingActivitiesInput struct {
	// The identifier of the resource associated with the scaling activity. This string
	// consists of the resource type and unique identifier. If you specify a scalable
	// dimension, you must also specify a resource ID.
	//
	//     * 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.
	ResourceId *string
	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property. If you specify a scalable dimension, you must also
	// specify a resource ID.
	//
	//     * 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 types.ScalableDimension
	// The token for the next set of results.
	NextToken *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The maximum number of scalable targets. This value can be between 1 and 50. The
	// default value is 50. If this parameter is used, the operation returns up to
	// MaxResults results at a time, along with a NextToken value. To get the next set
	// of results, include the NextToken value in a subsequent call. If this parameter
	// is not used, the operation returns up to 50 results and a NextToken value, if
	// applicable.
	MaxResults *int32
}

type DescribeScalingActivitiesOutput

type DescribeScalingActivitiesOutput struct {
	// A list of scaling activity objects.
	ScalingActivities []*types.ScalingActivity
	// The token required to get the next set of results. This value is null if there
	// are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeScalingPoliciesInput

type DescribeScalingPoliciesInput struct {
	// The token for the next set of results.
	NextToken *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property. If you specify a scalable dimension, you must also
	// specify a resource ID.
	//
	//     * 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 types.ScalableDimension
	// The names of the scaling policies to describe.
	PolicyNames []*string
	// The maximum number of scalable targets. This value can be between 1 and 50. The
	// default value is 50. If this parameter is used, the operation returns up to
	// MaxResults results at a time, along with a NextToken value. To get the next set
	// of results, include the NextToken value in a subsequent call. If this parameter
	// is not used, the operation returns up to 50 results and a NextToken value, if
	// applicable.
	MaxResults *int32
	// The identifier of the resource associated with the scaling policy. This string
	// consists of the resource type and unique identifier. If you specify a scalable
	// dimension, you must also specify a resource ID.
	//
	//     * 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.
	ResourceId *string
}

type DescribeScalingPoliciesOutput

type DescribeScalingPoliciesOutput struct {
	// The token required to get the next set of results. This value is null if there
	// are no more results to return.
	NextToken *string
	// Information about the scaling policies.
	ScalingPolicies []*types.ScalingPolicy

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type DescribeScheduledActionsInput

type DescribeScheduledActionsInput struct {
	// The names of the scheduled actions to describe.
	ScheduledActionNames []*string
	// The scalable dimension. This string consists of the service namespace, resource
	// type, and scaling property. If you specify a scalable dimension, you must also
	// specify a resource ID.
	//
	//     * 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 types.ScalableDimension
	// The identifier of the resource associated with the scheduled action. This string
	// consists of the resource type and unique identifier. If you specify a scalable
	// dimension, you must also specify a resource ID.
	//
	//     * 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.
	ResourceId *string
	// The token for the next set of results.
	NextToken *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The maximum number of scheduled action results. This value can be between 1 and
	// 50. The default value is 50. If this parameter is used, the operation returns up
	// to MaxResults results at a time, along with a NextToken value. To get the next
	// set of results, include the NextToken value in a subsequent call. If this
	// parameter is not used, the operation returns up to 50 results and a NextToken
	// value, if applicable.
	MaxResults *int32
}

type DescribeScheduledActionsOutput

type DescribeScheduledActionsOutput struct {
	// Information about the scheduled actions.
	ScheduledActions []*types.ScheduledAction
	// The token required to get the next set of results. This value is null if there
	// are no more results to return.
	NextToken *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options ResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func WithEndpointResolver

func WithEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver

WithEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided fallbackResolver for resolution. awsResolver and fallbackResolver must not be nil

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options ResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options ResolverOptions) (endpoint aws.Endpoint, err error)

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time) error
}

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions ResolverOptions

	// The service endpoint resolver.
	EndpointResolver EndpointResolver

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The region to send requests to. (Required)
	Region string

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer.
	Retryer retry.Retryer

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

func (Options) GetCredentials

func (o Options) GetCredentials() aws.CredentialsProvider

func (Options) GetEndpointOptions

func (o Options) GetEndpointOptions() ResolverOptions

func (Options) GetEndpointResolver

func (o Options) GetEndpointResolver() EndpointResolver

func (Options) GetHTTPSignerV4

func (o Options) GetHTTPSignerV4() HTTPSignerV4

func (Options) GetRegion

func (o Options) GetRegion() string

func (Options) GetRetryer

func (o Options) GetRetryer() retry.Retryer

type PutScalingPolicyInput

type PutScalingPolicyInput struct {
	// The policy type. This parameter is required if you are creating a scaling
	// policy. The following policy types are supported: TargetTrackingScaling—Not
	// supported for Amazon EMR StepScaling—Not supported for DynamoDB, Amazon
	// Comprehend, Lambda, or Amazon Keyspaces (for Apache Cassandra). For more
	// information, see Target Tracking Scaling Policies
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)
	// and Step Scaling Policies
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)
	// in the Application Auto Scaling User Guide.
	PolicyType types.PolicyType
	// 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.
	ResourceId *string
	// A target tracking scaling policy. Includes support for predefined or customized
	// metrics. This parameter is required if you are creating a policy and the policy
	// type is TargetTrackingScaling.
	TargetTrackingScalingPolicyConfiguration *types.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.
	ScalableDimension types.ScalableDimension
	// A step scaling policy. This parameter is required if you are creating a policy
	// and the policy type is StepScaling.
	StepScalingPolicyConfiguration *types.StepScalingPolicyConfiguration
	// The name of the scaling policy.
	PolicyName *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
}

type PutScalingPolicyOutput

type PutScalingPolicyOutput struct {
	// The Amazon Resource Name (ARN) of the resulting scaling policy.
	PolicyARN *string
	// The CloudWatch alarms created for the target tracking scaling policy.
	Alarms []*types.Alarm

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type PutScheduledActionInput

type PutScheduledActionInput struct {
	// The identifier of the resource associated with the scheduled action. 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.
	ResourceId *string
	// The date and time for the recurring schedule to end.
	EndTime *time.Time
	// The date and time for this scheduled action to start.
	StartTime *time.Time
	// 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 types.ScalableDimension
	// 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.
	Schedule *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// The name of the scheduled action. This name must be unique among all other
	// scheduled actions on the specified scalable target.
	ScheduledActionName *string
	// 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 *types.ScalableTargetAction
}

type PutScheduledActionOutput

type PutScheduledActionOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type RegisterScalableTargetInput

type RegisterScalableTargetInput struct {
	// The minimum value that you plan to scale in to. When a scaling policy is in
	// effect, Application Auto Scaling can scale in (contract) as needed to the
	// minimum capacity limit in response to changing demand. This parameter is
	// required if you are registering a scalable target. For certain resources, the
	// minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot
	// Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For
	// all other resources, the minimum value allowed is 1.
	MinCapacity *int32
	// The maximum value that you plan to scale out to. When a scaling policy is in
	// effect, Application Auto Scaling can scale out (expand) as needed to the maximum
	// capacity limit in response to changing demand. This parameter is required if you
	// are registering a scalable target.
	MaxCapacity *int32
	// The identifier of the resource that is 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.
	ResourceId *string
	// An embedded object that contains attributes and attribute values that are used
	// to suspend and resume automatic scaling. Setting the value of an attribute to
	// true suspends the specified scaling activities. Setting it to false (default)
	// resumes the specified scaling activities. Suspension Outcomes
	//
	//     * For
	// DynamicScalingInSuspended, while a suspension is in effect, all scale-in
	// activities that are triggered by a scaling policy are suspended.
	//
	//     * For
	// DynamicScalingOutSuspended, while a suspension is in effect, all scale-out
	// activities that are triggered by a scaling policy are suspended.
	//
	//     * For
	// ScheduledScalingSuspended, while a suspension is in effect, all scaling
	// activities that involve scheduled actions are suspended.
	//
	// For more information,
	// see Suspending and Resuming Scaling
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html)
	// in the Application Auto Scaling User Guide.
	SuspendedState *types.SuspendedState
	// This parameter is required for services that do not support service-linked roles
	// (such as Amazon EMR), and it must specify the ARN of an IAM role that allows
	// Application Auto Scaling to modify the scalable target on your behalf. If the
	// service supports service-linked roles, Application Auto Scaling uses a
	// service-linked role, which it creates if it does not yet exist. For more
	// information, see Application Auto Scaling IAM Roles
	// (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles).
	RoleARN *string
	// The namespace of the AWS service that provides the resource. For a resource
	// provided by your own application or service, use custom-resource instead.
	ServiceNamespace types.ServiceNamespace
	// 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.
	ScalableDimension types.ScalableDimension
}

type RegisterScalableTargetOutput

type RegisterScalableTargetOutput struct {
	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  ResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

type ResolveEndpointMiddlewareOptions

type ResolveEndpointMiddlewareOptions interface {
	GetEndpointResolver() EndpointResolver
	GetEndpointOptions() ResolverOptions
}

type ResolverOptions

type ResolverOptions = internalendpoints.Options

ResolverOptions is the service endpoint resolver options

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL