import * as core from "@terrascript/core"; export interface LaunchTemplateArgs extends core.SchemaArgs { id: string | core.StringOut; name: string | core.StringOut; version: string | core.StringOut; } export class LaunchTemplate extends core.Schema { @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String, { computed: true }) public name!: string | core.StringOut; @core.attr(String, { computed: true }) public version!: string | core.StringOut; } export interface DsGroupArgs { /** * Specify the exact name of the desired autoscaling group. */ name: string | core.StringOut; } export class DsGroup extends core.Data { /** * The Amazon Resource Name (ARN) of the Auto Scaling group. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * One or more Availability Zones for the group. */ @core.attr(String, { computed: true, kind: "array" }) public availabilityZones!: core.Array | core.ArrayOut; @core.attr(Number, { computed: true }) public defaultCooldown!: number | core.NumberOut; /** * The desired size of the group. */ @core.attr(Number, { computed: true }) public desiredCapacity!: number | core.NumberOut; /** * The list of metrics enabled for collection. */ @core.attr(String, { computed: true, kind: "array" }) public enabledMetrics!: core.Array | core.ArrayOut; /** * The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status * of an EC2 instance that has come into service. */ @core.attr(Number, { computed: true }) public healthCheckGracePeriod!: number | core.NumberOut; /** * The service to use for the health checks. The valid values are EC2 and ELB. */ @core.attr(String, { computed: true }) public healthCheckType!: string | core.StringOut; /** * Name of the Auto Scaling Group. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The name of the associated launch configuration. */ @core.attr(String, { computed: true }) public launchConfiguration!: string | core.StringOut; @core.attr(LaunchTemplate, { computed: true, kind: "array" }) public launchTemplate!: | core.Array | core.ArrayOut; /** * One or more load balancers associated with the group. */ @core.attr(String, { computed: true, kind: "array" }) public loadBalancers!: core.Array | core.ArrayOut; /** * The maximum size of the group. */ @core.attr(Number, { computed: true }) public maxSize!: number | core.NumberOut; /** * The minimum size of the group. */ @core.attr(Number, { computed: true }) public minSize!: number | core.NumberOut; /** * Specify the exact name of the desired autoscaling group. */ @core.attr(String) public name!: string | core.StringOut; @core.attr(Boolean, { computed: true }) public newInstancesProtectedFromScaleIn!: boolean | core.BooleanOut; /** * The name of the placement group into which to launch your instances, if any. For more information, s * ee Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in th * e Amazon Elastic Compute Cloud User Guide. */ @core.attr(String, { computed: true }) public placementGroup!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call o * ther AWS services on your behalf. */ @core.attr(String, { computed: true }) public serviceLinkedRoleArn!: string | core.StringOut; /** * The current state of the group when DeleteAutoScalingGroup is in progress. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * The Amazon Resource Names (ARN) of the target groups for your load balancer. */ @core.attr(String, { computed: true, kind: "array" }) public targetGroupArns!: core.Array | core.ArrayOut; /** * The termination policies for the group. */ @core.attr(String, { computed: true, kind: "array" }) public terminationPolicies!: | core.Array | core.ArrayOut; /** * VPC ID for the group. */ @core.attr(String, { computed: true }) public vpcZoneIdentifier!: string | core.StringOut; constructor(name: string, args?: DsGroupArgs) { super(name, "aws_autoscaling_group", args); } public override getNamespace(): string { return "aws_autoscaling"; } }