This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

appautoscaling

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

class pulumi_aws.appautoscaling.Policy(resource_name, opts=None, name=None, policy_type=None, resource_id=None, scalable_dimension=None, service_namespace=None, step_scaling_policy_configuration=None, target_tracking_scaling_policy_configuration=None, __props__=None, __name__=None, __opts__=None)

Provides an Application AutoScaling Policy resource.

import pulumi
import pulumi_aws as aws

dynamodb_table_read_target = aws.appautoscaling.Target("dynamodbTableReadTarget",
    max_capacity=100,
    min_capacity=5,
    resource_id="table/tableName",
    scalable_dimension="dynamodb:table:ReadCapacityUnits",
    service_namespace="dynamodb")
dynamodb_table_read_policy = aws.appautoscaling.Policy("dynamodbTableReadPolicy",
    policy_type="TargetTrackingScaling",
    resource_id=dynamodb_table_read_target.resource_id,
    scalable_dimension=dynamodb_table_read_target.scalable_dimension,
    service_namespace=dynamodb_table_read_target.service_namespace,
    target_tracking_scaling_policy_configuration={
        "predefinedMetricSpecification": {
            "predefinedMetricType": "DynamoDBReadCapacityUtilization",
        },
        "targetValue": 70,
    })
import pulumi
import pulumi_aws as aws

ecs_target = aws.appautoscaling.Target("ecsTarget",
    max_capacity=4,
    min_capacity=1,
    resource_id="service/clusterName/serviceName",
    scalable_dimension="ecs:service:DesiredCount",
    service_namespace="ecs")
ecs_policy = aws.appautoscaling.Policy("ecsPolicy",
    policy_type="StepScaling",
    resource_id=ecs_target.resource_id,
    scalable_dimension=ecs_target.scalable_dimension,
    service_namespace=ecs_target.service_namespace,
    step_scaling_policy_configuration={
        "adjustment_type": "ChangeInCapacity",
        "cooldown": 60,
        "metric_aggregation_type": "Maximum",
        "stepAdjustment": [{
            "metricIntervalUpperBound": 0,
            "scaling_adjustment": -1,
        }],
    })
import pulumi
import pulumi_aws as aws

ecs_service = aws.ecs.Service("ecsService",
    cluster="clusterName",
    desired_count=2,
    lifecycle={
        "ignoreChanges": ["desiredCount"],
    },
    task_definition="taskDefinitionFamily:1")
import pulumi
import pulumi_aws as aws

replicas_target = aws.appautoscaling.Target("replicasTarget",
    max_capacity=15,
    min_capacity=1,
    resource_id=f"cluster:{aws_rds_cluster['example']['id']}",
    scalable_dimension="rds:cluster:ReadReplicaCount",
    service_namespace="rds")
replicas_policy = aws.appautoscaling.Policy("replicasPolicy",
    policy_type="TargetTrackingScaling",
    resource_id=replicas_target.resource_id,
    scalable_dimension=replicas_target.scalable_dimension,
    service_namespace=replicas_target.service_namespace,
    target_tracking_scaling_policy_configuration={
        "predefinedMetricSpecification": {
            "predefinedMetricType": "RDSReaderAverageCPUUtilization",
        },
        "scaleInCooldown": 300,
        "scaleOutCooldown": 300,
        "targetValue": 75,
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – The name of the policy.

  • policy_type (pulumi.Input[str]) – The policy type. Valid values are StepScaling and TargetTrackingScaling. Defaults to StepScaling. Certain services only support only one policy type. For more information see the Target Tracking Scaling Policies and Step Scaling Policies documentation.

  • resource_id (pulumi.Input[str]) – The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

  • step_scaling_policy_configuration (pulumi.Input[dict]) – Step scaling policy configuration, requires policy_type = "StepScaling" (default). See supported fields below.

  • target_tracking_scaling_policy_configuration (pulumi.Input[dict]) – A target tracking policy, requires policy_type = "TargetTrackingScaling". See supported fields below.

The step_scaling_policy_configuration object supports the following:

  • adjustment_type (pulumi.Input[str]) - Specifies whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

  • cooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.

  • metric_aggregation_type (pulumi.Input[str]) - The aggregation type for the policy’s metrics. Valid values are “Minimum”, “Maximum”, and “Average”. Without a value, AWS will treat the aggregation type as “Average”.

  • min_adjustment_magnitude (pulumi.Input[float]) - The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

  • step_adjustments (pulumi.Input[list]) - A set of adjustments that manage scaling. These have the following structure:

    • metricIntervalLowerBound (pulumi.Input[str]) - The lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.

    • metricIntervalUpperBound (pulumi.Input[str]) - The upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.

    • scaling_adjustment (pulumi.Input[float]) - The number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.

The target_tracking_scaling_policy_configuration object supports the following:

  • customizedMetricSpecification (pulumi.Input[dict]) - A custom CloudWatch metric. Documentation can be found at: AWS Customized Metric Specification. See supported fields below.

    • dimensions (pulumi.Input[list]) - Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

      • name (pulumi.Input[str]) - The name of the policy.

      • value (pulumi.Input[str]) - Value of the dimension.

    • metric_name (pulumi.Input[str]) - The name of the metric.

    • namespace (pulumi.Input[str]) - The namespace of the metric.

    • statistic (pulumi.Input[str]) - The statistic of the metric. Valid values: Average, Minimum, Maximum, SampleCount, and Sum.

    • unit (pulumi.Input[str]) - The unit of the metric.

  • disableScaleIn (pulumi.Input[bool]) - Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

  • predefinedMetricSpecification (pulumi.Input[dict]) - A predefined metric. See supported fields below.

    • predefinedMetricType (pulumi.Input[str]) - The metric type.

    • resourceLabel (pulumi.Input[str]) - Reserved for future use.

  • scaleInCooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

  • scaleOutCooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

  • targetValue (pulumi.Input[float]) - The target value for the metric.

arn: pulumi.Output[str] = None

The ARN assigned by AWS to the scaling policy.

name: pulumi.Output[str] = None

The name of the policy.

policy_type: pulumi.Output[str] = None

The policy type. Valid values are StepScaling and TargetTrackingScaling. Defaults to StepScaling. Certain services only support only one policy type. For more information see the Target Tracking Scaling Policies and Step Scaling Policies documentation.

resource_id: pulumi.Output[str] = None

The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

scalable_dimension: pulumi.Output[str] = None

The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

service_namespace: pulumi.Output[str] = None

The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

step_scaling_policy_configuration: pulumi.Output[dict] = None

Step scaling policy configuration, requires policy_type = "StepScaling" (default). See supported fields below.

  • adjustment_type (str) - Specifies whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

  • cooldown (float) - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.

  • metric_aggregation_type (str) - The aggregation type for the policy’s metrics. Valid values are “Minimum”, “Maximum”, and “Average”. Without a value, AWS will treat the aggregation type as “Average”.

  • min_adjustment_magnitude (float) - The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

  • step_adjustments (list) - A set of adjustments that manage scaling. These have the following structure:

    • metricIntervalLowerBound (str) - The lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.

    • metricIntervalUpperBound (str) - The upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.

    • scaling_adjustment (float) - The number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.

target_tracking_scaling_policy_configuration: pulumi.Output[dict] = None

A target tracking policy, requires policy_type = "TargetTrackingScaling". See supported fields below.

  • customizedMetricSpecification (dict) - A custom CloudWatch metric. Documentation can be found at: AWS Customized Metric Specification. See supported fields below.

    • dimensions (list) - Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

      • name (str) - The name of the policy.

      • value (str) - Value of the dimension.

    • metric_name (str) - The name of the metric.

    • namespace (str) - The namespace of the metric.

    • statistic (str) - The statistic of the metric. Valid values: Average, Minimum, Maximum, SampleCount, and Sum.

    • unit (str) - The unit of the metric.

  • disableScaleIn (bool) - Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

  • predefinedMetricSpecification (dict) - A predefined metric. See supported fields below.

    • predefinedMetricType (str) - The metric type.

    • resourceLabel (str) - Reserved for future use.

  • scaleInCooldown (float) - The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

  • scaleOutCooldown (float) - The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

  • targetValue (float) - The target value for the metric.

static get(resource_name, id, opts=None, arn=None, name=None, policy_type=None, resource_id=None, scalable_dimension=None, service_namespace=None, step_scaling_policy_configuration=None, target_tracking_scaling_policy_configuration=None)

Get an existing Policy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • arn (pulumi.Input[str]) – The ARN assigned by AWS to the scaling policy.

  • name (pulumi.Input[str]) – The name of the policy.

  • policy_type (pulumi.Input[str]) –

    The policy type. Valid values are StepScaling and TargetTrackingScaling. Defaults to StepScaling. Certain services only support only one policy type. For more information see the Target Tracking Scaling Policies and Step Scaling Policies documentation.

  • resource_id (pulumi.Input[str]) –

    The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

  • step_scaling_policy_configuration (pulumi.Input[dict]) – Step scaling policy configuration, requires policy_type = "StepScaling" (default). See supported fields below.

  • target_tracking_scaling_policy_configuration (pulumi.Input[dict]) – A target tracking policy, requires policy_type = "TargetTrackingScaling". See supported fields below.

The step_scaling_policy_configuration object supports the following:

  • adjustment_type (pulumi.Input[str]) - Specifies whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

  • cooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.

  • metric_aggregation_type (pulumi.Input[str]) - The aggregation type for the policy’s metrics. Valid values are “Minimum”, “Maximum”, and “Average”. Without a value, AWS will treat the aggregation type as “Average”.

  • min_adjustment_magnitude (pulumi.Input[float]) - The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

  • step_adjustments (pulumi.Input[list]) - A set of adjustments that manage scaling. These have the following structure:

    • metricIntervalLowerBound (pulumi.Input[str]) - The lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.

    • metricIntervalUpperBound (pulumi.Input[str]) - The upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.

    • scaling_adjustment (pulumi.Input[float]) - The number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.

The target_tracking_scaling_policy_configuration object supports the following:

  • customizedMetricSpecification (pulumi.Input[dict]) - A custom CloudWatch metric. Documentation can be found at: AWS Customized Metric Specification. See supported fields below.

    • dimensions (pulumi.Input[list]) - Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

      • name (pulumi.Input[str]) - The name of the policy.

      • value (pulumi.Input[str]) - Value of the dimension.

    • metric_name (pulumi.Input[str]) - The name of the metric.

    • namespace (pulumi.Input[str]) - The namespace of the metric.

    • statistic (pulumi.Input[str]) - The statistic of the metric. Valid values: Average, Minimum, Maximum, SampleCount, and Sum.

    • unit (pulumi.Input[str]) - The unit of the metric.

  • disableScaleIn (pulumi.Input[bool]) - Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won’t remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

  • predefinedMetricSpecification (pulumi.Input[dict]) - A predefined metric. See supported fields below.

    • predefinedMetricType (pulumi.Input[str]) - The metric type.

    • resourceLabel (pulumi.Input[str]) - Reserved for future use.

  • scaleInCooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

  • scaleOutCooldown (pulumi.Input[float]) - The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

  • targetValue (pulumi.Input[float]) - The target value for the metric.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.appautoscaling.ScheduledAction(resource_name, opts=None, end_time=None, name=None, resource_id=None, scalable_dimension=None, scalable_target_action=None, schedule=None, service_namespace=None, start_time=None, __props__=None, __name__=None, __opts__=None)

Provides an Application AutoScaling ScheduledAction resource.

import pulumi
import pulumi_aws as aws

dynamodb_target = aws.appautoscaling.Target("dynamodbTarget",
    max_capacity=100,
    min_capacity=5,
    resource_id="table/tableName",
    scalable_dimension="dynamodb:table:ReadCapacityUnits",
    service_namespace="dynamodb")
dynamodb_scheduled_action = aws.appautoscaling.ScheduledAction("dynamodbScheduledAction",
    resource_id=dynamodb_target.resource_id,
    scalable_dimension=dynamodb_target.scalable_dimension,
    scalable_target_action={
        "max_capacity": 200,
        "min_capacity": 1,
    },
    schedule="at(2006-01-02T15:04:05)",
    service_namespace=dynamodb_target.service_namespace)
import pulumi
import pulumi_aws as aws

ecs_target = aws.appautoscaling.Target("ecsTarget",
    max_capacity=4,
    min_capacity=1,
    resource_id="service/clusterName/serviceName",
    scalable_dimension="ecs:service:DesiredCount",
    service_namespace="ecs")
ecs_scheduled_action = aws.appautoscaling.ScheduledAction("ecsScheduledAction",
    resource_id=ecs_target.resource_id,
    scalable_dimension=ecs_target.scalable_dimension,
    scalable_target_action={
        "max_capacity": 10,
        "min_capacity": 1,
    },
    schedule="at(2006-01-02T15:04:05)",
    service_namespace=ecs_target.service_namespace)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • end_time (pulumi.Input[str]) – The date and time for the scheduled action to end. Specify the following format: 2006-01-02T15:04:05Z

  • name (pulumi.Input[str]) – The name of the scheduled action.

  • resource_id (pulumi.Input[str]) –

    The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs:service:DesiredCount

  • scalable_target_action (pulumi.Input[dict]) – The new minimum and maximum capacity. You can set both values or just one. See below

  • schedule (pulumi.Input[str]) –

    The schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). In UTC. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The namespace of the AWS service. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs

  • start_time (pulumi.Input[str]) – The date and time for the scheduled action to start. Specify the following format: 2006-01-02T15:04:05Z

The scalable_target_action object supports the following:

  • max_capacity (pulumi.Input[float]) - The maximum capacity.

  • min_capacity (pulumi.Input[float]) - The minimum capacity.

arn: pulumi.Output[str] = None

The Amazon Resource Name (ARN) of the scheduled action.

end_time: pulumi.Output[str] = None

The date and time for the scheduled action to end. Specify the following format: 2006-01-02T15:04:05Z

name: pulumi.Output[str] = None

The name of the scheduled action.

resource_id: pulumi.Output[str] = None

The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

scalable_dimension: pulumi.Output[str] = None

The scalable dimension. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs:service:DesiredCount

scalable_target_action: pulumi.Output[dict] = None

The new minimum and maximum capacity. You can set both values or just one. See below

  • max_capacity (float) - The maximum capacity.

  • min_capacity (float) - The minimum capacity.

schedule: pulumi.Output[str] = None

The schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). In UTC. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

service_namespace: pulumi.Output[str] = None

The namespace of the AWS service. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs

start_time: pulumi.Output[str] = None

The date and time for the scheduled action to start. Specify the following format: 2006-01-02T15:04:05Z

static get(resource_name, id, opts=None, arn=None, end_time=None, name=None, resource_id=None, scalable_dimension=None, scalable_target_action=None, schedule=None, service_namespace=None, start_time=None)

Get an existing ScheduledAction resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • arn (pulumi.Input[str]) – The Amazon Resource Name (ARN) of the scheduled action.

  • end_time (pulumi.Input[str]) – The date and time for the scheduled action to end. Specify the following format: 2006-01-02T15:04:05Z

  • name (pulumi.Input[str]) – The name of the scheduled action.

  • resource_id (pulumi.Input[str]) –

    The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs:service:DesiredCount

  • scalable_target_action (pulumi.Input[dict]) – The new minimum and maximum capacity. You can set both values or just one. See below

  • schedule (pulumi.Input[str]) –

    The schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). In UTC. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The namespace of the AWS service. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs

  • start_time (pulumi.Input[str]) – The date and time for the scheduled action to start. Specify the following format: 2006-01-02T15:04:05Z

The scalable_target_action object supports the following:

  • max_capacity (pulumi.Input[float]) - The maximum capacity.

  • min_capacity (pulumi.Input[float]) - The minimum capacity.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_aws.appautoscaling.Target(resource_name, opts=None, max_capacity=None, min_capacity=None, resource_id=None, role_arn=None, scalable_dimension=None, service_namespace=None, __props__=None, __name__=None, __opts__=None)

Provides an Application AutoScaling ScalableTarget resource. To manage policies which get attached to the target, see the appautoscaling.Policy resource.

NOTE: The Application Auto Scaling service automatically attempts to manage IAM Service-Linked Roles when registering certain service namespaces for the first time. To manually manage this role, see the iam.ServiceLinkedRole resource.

import pulumi
import pulumi_aws as aws

dynamodb_table_read_target = aws.appautoscaling.Target("dynamodbTableReadTarget",
    max_capacity=100,
    min_capacity=5,
    resource_id=f"table/{aws_dynamodb_table['example']['name']}",
    scalable_dimension="dynamodb:table:ReadCapacityUnits",
    service_namespace="dynamodb")
import pulumi
import pulumi_aws as aws

dynamodb_index_read_target = aws.appautoscaling.Target("dynamodbIndexReadTarget",
    max_capacity=100,
    min_capacity=5,
    resource_id=f"table/{aws_dynamodb_table['example']['name']}/index/{var['index_name']}",
    scalable_dimension="dynamodb:index:ReadCapacityUnits",
    service_namespace="dynamodb")
import pulumi
import pulumi_aws as aws

ecs_target = aws.appautoscaling.Target("ecsTarget",
    max_capacity=4,
    min_capacity=1,
    resource_id=f"service/{aws_ecs_cluster['example']['name']}/{aws_ecs_service['example']['name']}",
    scalable_dimension="ecs:service:DesiredCount",
    service_namespace="ecs")
import pulumi
import pulumi_aws as aws

replicas = aws.appautoscaling.Target("replicas",
    max_capacity=15,
    min_capacity=1,
    resource_id=f"cluster:{aws_rds_cluster['example']['id']}",
    scalable_dimension="rds:cluster:ReadReplicaCount",
    service_namespace="rds")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • max_capacity (pulumi.Input[float]) – The max capacity of the scalable target.

  • min_capacity (pulumi.Input[float]) – The min capacity of the scalable target.

  • resource_id (pulumi.Input[str]) –

    The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

  • role_arn (pulumi.Input[str]) – The ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the AWS Application Auto Scaling documentation for more information about how this service interacts with IAM.

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

max_capacity: pulumi.Output[float] = None

The max capacity of the scalable target.

min_capacity: pulumi.Output[float] = None

The min capacity of the scalable target.

resource_id: pulumi.Output[str] = None

The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

role_arn: pulumi.Output[str] = None

The ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the AWS Application Auto Scaling documentation for more information about how this service interacts with IAM.

scalable_dimension: pulumi.Output[str] = None

The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

service_namespace: pulumi.Output[str] = None

The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

static get(resource_name, id, opts=None, max_capacity=None, min_capacity=None, resource_id=None, role_arn=None, scalable_dimension=None, service_namespace=None)

Get an existing Target resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • max_capacity (pulumi.Input[float]) – The max capacity of the scalable target.

  • min_capacity (pulumi.Input[float]) – The min capacity of the scalable target.

  • resource_id (pulumi.Input[str]) –

    The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference

  • role_arn (pulumi.Input[str]) –

    The ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the AWS Application Auto Scaling documentation for more information about how this service interacts with IAM.

  • scalable_dimension (pulumi.Input[str]) –

    The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference

  • service_namespace (pulumi.Input[str]) –

    The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str