import * as core from "@terrascript/core"; export interface AppautoscalingTargetArgs extends core.ResourceArgs { /** * (Required) The max capacity of the scalable target. */ maxCapacity: number | core.NumberOut; /** * (Required) The min capacity of the scalable target. */ minCapacity: number | core.NumberOut; /** * (Required) The resource type and unique identifier string for the resource associated with the scali * ng policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scalin * g API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalab * leTarget.html#API_RegisterScalableTarget_RequestParameters) */ resourceId: string | core.StringOut; /** * (Optional) The ARN of the IAM role that allows Application AutoScaling to modify your scalable targe * t 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](h * ttps://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#secu * rity_iam_service-with-iam-roles) for more information about how this service interacts with IAM. */ roleArn?: string | core.StringOut; /** * (Required) The scalable dimension of the scalable target. Documentation can be found in the `Scalabl * eDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/a * utoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_Reque * stParameters) */ scalableDimension: string | core.StringOut; /** * (Required) The AWS service namespace of the scalable target. Documentation can be found in the `Serv * iceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com * /autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_Req * uestParameters) */ serviceNamespace: string | core.StringOut; } export class AppautoscalingTarget extends core.Resource { @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The max capacity of the scalable target. */ @core.attr(Number) public maxCapacity!: number | core.NumberOut; /** * (Required) The min capacity of the scalable target. */ @core.attr(Number) public minCapacity!: number | core.NumberOut; /** * (Required) The resource type and unique identifier string for the resource associated with the scali * ng policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scalin * g API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalab * leTarget.html#API_RegisterScalableTarget_RequestParameters) */ @core.attr(String) public resourceId!: string | core.StringOut; /** * (Optional) The ARN of the IAM role that allows Application AutoScaling to modify your scalable targe * t 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](h * ttps://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#secu * rity_iam_service-with-iam-roles) for more information about how this service interacts with IAM. */ @core.attr(String, { computed: true }) public roleArn?: string | core.StringOut; /** * (Required) The scalable dimension of the scalable target. Documentation can be found in the `Scalabl * eDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/a * utoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_Reque * stParameters) */ @core.attr(String) public scalableDimension!: string | core.StringOut; /** * (Required) The AWS service namespace of the scalable target. Documentation can be found in the `Serv * iceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com * /autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_Req * uestParameters) */ @core.attr(String) public serviceNamespace!: string | core.StringOut; constructor(name: string, args?: AppautoscalingTargetArgs) { super(name, "aws_appautoscaling_target", args); } public override getNamespace(): string { return "aws_application_auto_scaling"; } }