UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

823 lines 118 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface AutoscalingGroupConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#availability_zones AutoscalingGroup#availability_zones} */ readonly availabilityZones?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_rebalance AutoscalingGroup#capacity_rebalance} */ readonly capacityRebalance?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#context AutoscalingGroup#context} */ readonly context?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#default_cooldown AutoscalingGroup#default_cooldown} */ readonly defaultCooldown?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#default_instance_warmup AutoscalingGroup#default_instance_warmup} */ readonly defaultInstanceWarmup?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#desired_capacity AutoscalingGroup#desired_capacity} */ readonly desiredCapacity?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#desired_capacity_type AutoscalingGroup#desired_capacity_type} */ readonly desiredCapacityType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#enabled_metrics AutoscalingGroup#enabled_metrics} */ readonly enabledMetrics?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#force_delete AutoscalingGroup#force_delete} */ readonly forceDelete?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#force_delete_warm_pool AutoscalingGroup#force_delete_warm_pool} */ readonly forceDeleteWarmPool?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#health_check_grace_period AutoscalingGroup#health_check_grace_period} */ readonly healthCheckGracePeriod?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#health_check_type AutoscalingGroup#health_check_type} */ readonly healthCheckType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#id AutoscalingGroup#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#ignore_failed_scaling_activities AutoscalingGroup#ignore_failed_scaling_activities} */ readonly ignoreFailedScalingActivities?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#launch_configuration AutoscalingGroup#launch_configuration} */ readonly launchConfiguration?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#load_balancers AutoscalingGroup#load_balancers} */ readonly loadBalancers?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max_instance_lifetime AutoscalingGroup#max_instance_lifetime} */ readonly maxInstanceLifetime?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max_size AutoscalingGroup#max_size} */ readonly maxSize: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#metrics_granularity AutoscalingGroup#metrics_granularity} */ readonly metricsGranularity?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min_elb_capacity AutoscalingGroup#min_elb_capacity} */ readonly minElbCapacity?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min_size AutoscalingGroup#min_size} */ readonly minSize: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#name AutoscalingGroup#name} */ readonly name?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#name_prefix AutoscalingGroup#name_prefix} */ readonly namePrefix?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#placement_group AutoscalingGroup#placement_group} */ readonly placementGroup?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#protect_from_scale_in AutoscalingGroup#protect_from_scale_in} */ readonly protectFromScaleIn?: boolean | cdktf.IResolvable; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#region AutoscalingGroup#region} */ readonly region?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#service_linked_role_arn AutoscalingGroup#service_linked_role_arn} */ readonly serviceLinkedRoleArn?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#suspended_processes AutoscalingGroup#suspended_processes} */ readonly suspendedProcesses?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#target_group_arns AutoscalingGroup#target_group_arns} */ readonly targetGroupArns?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#termination_policies AutoscalingGroup#termination_policies} */ readonly terminationPolicies?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#vpc_zone_identifier AutoscalingGroup#vpc_zone_identifier} */ readonly vpcZoneIdentifier?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#wait_for_capacity_timeout AutoscalingGroup#wait_for_capacity_timeout} */ readonly waitForCapacityTimeout?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#wait_for_elb_capacity AutoscalingGroup#wait_for_elb_capacity} */ readonly waitForElbCapacity?: number; /** * availability_zone_distribution block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#availability_zone_distribution AutoscalingGroup#availability_zone_distribution} */ readonly availabilityZoneDistribution?: AutoscalingGroupAvailabilityZoneDistribution; /** * capacity_reservation_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_reservation_specification AutoscalingGroup#capacity_reservation_specification} */ readonly capacityReservationSpecification?: AutoscalingGroupCapacityReservationSpecification; /** * initial_lifecycle_hook block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#initial_lifecycle_hook AutoscalingGroup#initial_lifecycle_hook} */ readonly initialLifecycleHook?: AutoscalingGroupInitialLifecycleHook[] | cdktf.IResolvable; /** * instance_maintenance_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#instance_maintenance_policy AutoscalingGroup#instance_maintenance_policy} */ readonly instanceMaintenancePolicy?: AutoscalingGroupInstanceMaintenancePolicy; /** * instance_refresh block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#instance_refresh AutoscalingGroup#instance_refresh} */ readonly instanceRefresh?: AutoscalingGroupInstanceRefresh; /** * launch_template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#launch_template AutoscalingGroup#launch_template} */ readonly launchTemplate?: AutoscalingGroupLaunchTemplate; /** * mixed_instances_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#mixed_instances_policy AutoscalingGroup#mixed_instances_policy} */ readonly mixedInstancesPolicy?: AutoscalingGroupMixedInstancesPolicy; /** * tag block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#tag AutoscalingGroup#tag} */ readonly tag?: AutoscalingGroupTag[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#timeouts AutoscalingGroup#timeouts} */ readonly timeouts?: AutoscalingGroupTimeouts; /** * traffic_source block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#traffic_source AutoscalingGroup#traffic_source} */ readonly trafficSource?: AutoscalingGroupTrafficSource[] | cdktf.IResolvable; /** * warm_pool block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#warm_pool AutoscalingGroup#warm_pool} */ readonly warmPool?: AutoscalingGroupWarmPool; } export interface AutoscalingGroupAvailabilityZoneDistribution { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_distribution_strategy AutoscalingGroup#capacity_distribution_strategy} */ readonly capacityDistributionStrategy?: string; } export declare function autoscalingGroupAvailabilityZoneDistributionToTerraform(struct?: AutoscalingGroupAvailabilityZoneDistributionOutputReference | AutoscalingGroupAvailabilityZoneDistribution): any; export declare function autoscalingGroupAvailabilityZoneDistributionToHclTerraform(struct?: AutoscalingGroupAvailabilityZoneDistributionOutputReference | AutoscalingGroupAvailabilityZoneDistribution): any; export declare class AutoscalingGroupAvailabilityZoneDistributionOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupAvailabilityZoneDistribution | undefined; set internalValue(value: AutoscalingGroupAvailabilityZoneDistribution | undefined); private _capacityDistributionStrategy?; get capacityDistributionStrategy(): string; set capacityDistributionStrategy(value: string); resetCapacityDistributionStrategy(): void; get capacityDistributionStrategyInput(): string | undefined; } export interface AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_reservation_ids AutoscalingGroup#capacity_reservation_ids} */ readonly capacityReservationIds?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_reservation_resource_group_arns AutoscalingGroup#capacity_reservation_resource_group_arns} */ readonly capacityReservationResourceGroupArns?: string[]; } export declare function autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToTerraform(struct?: AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference | AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget): any; export declare function autoscalingGroupCapacityReservationSpecificationCapacityReservationTargetToHclTerraform(struct?: AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference | AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget): any; export declare class AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget | undefined; set internalValue(value: AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget | undefined); private _capacityReservationIds?; get capacityReservationIds(): string[]; set capacityReservationIds(value: string[]); resetCapacityReservationIds(): void; get capacityReservationIdsInput(): string[] | undefined; private _capacityReservationResourceGroupArns?; get capacityReservationResourceGroupArns(): string[]; set capacityReservationResourceGroupArns(value: string[]); resetCapacityReservationResourceGroupArns(): void; get capacityReservationResourceGroupArnsInput(): string[] | undefined; } export interface AutoscalingGroupCapacityReservationSpecification { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_reservation_preference AutoscalingGroup#capacity_reservation_preference} */ readonly capacityReservationPreference?: string; /** * capacity_reservation_target block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#capacity_reservation_target AutoscalingGroup#capacity_reservation_target} */ readonly capacityReservationTarget?: AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget; } export declare function autoscalingGroupCapacityReservationSpecificationToTerraform(struct?: AutoscalingGroupCapacityReservationSpecificationOutputReference | AutoscalingGroupCapacityReservationSpecification): any; export declare function autoscalingGroupCapacityReservationSpecificationToHclTerraform(struct?: AutoscalingGroupCapacityReservationSpecificationOutputReference | AutoscalingGroupCapacityReservationSpecification): any; export declare class AutoscalingGroupCapacityReservationSpecificationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupCapacityReservationSpecification | undefined; set internalValue(value: AutoscalingGroupCapacityReservationSpecification | undefined); private _capacityReservationPreference?; get capacityReservationPreference(): string; set capacityReservationPreference(value: string); resetCapacityReservationPreference(): void; get capacityReservationPreferenceInput(): string | undefined; private _capacityReservationTarget; get capacityReservationTarget(): AutoscalingGroupCapacityReservationSpecificationCapacityReservationTargetOutputReference; putCapacityReservationTarget(value: AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget): void; resetCapacityReservationTarget(): void; get capacityReservationTargetInput(): AutoscalingGroupCapacityReservationSpecificationCapacityReservationTarget | undefined; } export interface AutoscalingGroupInitialLifecycleHook { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#default_result AutoscalingGroup#default_result} */ readonly defaultResult?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#heartbeat_timeout AutoscalingGroup#heartbeat_timeout} */ readonly heartbeatTimeout?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#lifecycle_transition AutoscalingGroup#lifecycle_transition} */ readonly lifecycleTransition: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#name AutoscalingGroup#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#notification_metadata AutoscalingGroup#notification_metadata} */ readonly notificationMetadata?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#notification_target_arn AutoscalingGroup#notification_target_arn} */ readonly notificationTargetArn?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#role_arn AutoscalingGroup#role_arn} */ readonly roleArn?: string; } export declare function autoscalingGroupInitialLifecycleHookToTerraform(struct?: AutoscalingGroupInitialLifecycleHook | cdktf.IResolvable): any; export declare function autoscalingGroupInitialLifecycleHookToHclTerraform(struct?: AutoscalingGroupInitialLifecycleHook | cdktf.IResolvable): any; export declare class AutoscalingGroupInitialLifecycleHookOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AutoscalingGroupInitialLifecycleHook | cdktf.IResolvable | undefined; set internalValue(value: AutoscalingGroupInitialLifecycleHook | cdktf.IResolvable | undefined); private _defaultResult?; get defaultResult(): string; set defaultResult(value: string); resetDefaultResult(): void; get defaultResultInput(): string | undefined; private _heartbeatTimeout?; get heartbeatTimeout(): number; set heartbeatTimeout(value: number); resetHeartbeatTimeout(): void; get heartbeatTimeoutInput(): number | undefined; private _lifecycleTransition?; get lifecycleTransition(): string; set lifecycleTransition(value: string); get lifecycleTransitionInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _notificationMetadata?; get notificationMetadata(): string; set notificationMetadata(value: string); resetNotificationMetadata(): void; get notificationMetadataInput(): string | undefined; private _notificationTargetArn?; get notificationTargetArn(): string; set notificationTargetArn(value: string); resetNotificationTargetArn(): void; get notificationTargetArnInput(): string | undefined; private _roleArn?; get roleArn(): string; set roleArn(value: string); resetRoleArn(): void; get roleArnInput(): string | undefined; } export declare class AutoscalingGroupInitialLifecycleHookList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AutoscalingGroupInitialLifecycleHook[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AutoscalingGroupInitialLifecycleHookOutputReference; } export interface AutoscalingGroupInstanceMaintenancePolicy { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max_healthy_percentage AutoscalingGroup#max_healthy_percentage} */ readonly maxHealthyPercentage: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min_healthy_percentage AutoscalingGroup#min_healthy_percentage} */ readonly minHealthyPercentage: number; } export declare function autoscalingGroupInstanceMaintenancePolicyToTerraform(struct?: AutoscalingGroupInstanceMaintenancePolicyOutputReference | AutoscalingGroupInstanceMaintenancePolicy): any; export declare function autoscalingGroupInstanceMaintenancePolicyToHclTerraform(struct?: AutoscalingGroupInstanceMaintenancePolicyOutputReference | AutoscalingGroupInstanceMaintenancePolicy): any; export declare class AutoscalingGroupInstanceMaintenancePolicyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupInstanceMaintenancePolicy | undefined; set internalValue(value: AutoscalingGroupInstanceMaintenancePolicy | undefined); private _maxHealthyPercentage?; get maxHealthyPercentage(): number; set maxHealthyPercentage(value: number); get maxHealthyPercentageInput(): number | undefined; private _minHealthyPercentage?; get minHealthyPercentage(): number; set minHealthyPercentage(value: number); get minHealthyPercentageInput(): number | undefined; } export interface AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#alarms AutoscalingGroup#alarms} */ readonly alarms?: string[]; } export declare function autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToTerraform(struct?: AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference | AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification): any; export declare function autoscalingGroupInstanceRefreshPreferencesAlarmSpecificationToHclTerraform(struct?: AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference | AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification): any; export declare class AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification | undefined; set internalValue(value: AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification | undefined); private _alarms?; get alarms(): string[]; set alarms(value: string[]); resetAlarms(): void; get alarmsInput(): string[] | undefined; } export interface AutoscalingGroupInstanceRefreshPreferences { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#auto_rollback AutoscalingGroup#auto_rollback} */ readonly autoRollback?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#checkpoint_delay AutoscalingGroup#checkpoint_delay} */ readonly checkpointDelay?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#checkpoint_percentages AutoscalingGroup#checkpoint_percentages} */ readonly checkpointPercentages?: number[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#instance_warmup AutoscalingGroup#instance_warmup} */ readonly instanceWarmup?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max_healthy_percentage AutoscalingGroup#max_healthy_percentage} */ readonly maxHealthyPercentage?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min_healthy_percentage AutoscalingGroup#min_healthy_percentage} */ readonly minHealthyPercentage?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#scale_in_protected_instances AutoscalingGroup#scale_in_protected_instances} */ readonly scaleInProtectedInstances?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#skip_matching AutoscalingGroup#skip_matching} */ readonly skipMatching?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#standby_instances AutoscalingGroup#standby_instances} */ readonly standbyInstances?: string; /** * alarm_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#alarm_specification AutoscalingGroup#alarm_specification} */ readonly alarmSpecification?: AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification; } export declare function autoscalingGroupInstanceRefreshPreferencesToTerraform(struct?: AutoscalingGroupInstanceRefreshPreferencesOutputReference | AutoscalingGroupInstanceRefreshPreferences): any; export declare function autoscalingGroupInstanceRefreshPreferencesToHclTerraform(struct?: AutoscalingGroupInstanceRefreshPreferencesOutputReference | AutoscalingGroupInstanceRefreshPreferences): any; export declare class AutoscalingGroupInstanceRefreshPreferencesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupInstanceRefreshPreferences | undefined; set internalValue(value: AutoscalingGroupInstanceRefreshPreferences | undefined); private _autoRollback?; get autoRollback(): boolean | cdktf.IResolvable; set autoRollback(value: boolean | cdktf.IResolvable); resetAutoRollback(): void; get autoRollbackInput(): boolean | cdktf.IResolvable | undefined; private _checkpointDelay?; get checkpointDelay(): string; set checkpointDelay(value: string); resetCheckpointDelay(): void; get checkpointDelayInput(): string | undefined; private _checkpointPercentages?; get checkpointPercentages(): number[]; set checkpointPercentages(value: number[]); resetCheckpointPercentages(): void; get checkpointPercentagesInput(): number[] | undefined; private _instanceWarmup?; get instanceWarmup(): string; set instanceWarmup(value: string); resetInstanceWarmup(): void; get instanceWarmupInput(): string | undefined; private _maxHealthyPercentage?; get maxHealthyPercentage(): number; set maxHealthyPercentage(value: number); resetMaxHealthyPercentage(): void; get maxHealthyPercentageInput(): number | undefined; private _minHealthyPercentage?; get minHealthyPercentage(): number; set minHealthyPercentage(value: number); resetMinHealthyPercentage(): void; get minHealthyPercentageInput(): number | undefined; private _scaleInProtectedInstances?; get scaleInProtectedInstances(): string; set scaleInProtectedInstances(value: string); resetScaleInProtectedInstances(): void; get scaleInProtectedInstancesInput(): string | undefined; private _skipMatching?; get skipMatching(): boolean | cdktf.IResolvable; set skipMatching(value: boolean | cdktf.IResolvable); resetSkipMatching(): void; get skipMatchingInput(): boolean | cdktf.IResolvable | undefined; private _standbyInstances?; get standbyInstances(): string; set standbyInstances(value: string); resetStandbyInstances(): void; get standbyInstancesInput(): string | undefined; private _alarmSpecification; get alarmSpecification(): AutoscalingGroupInstanceRefreshPreferencesAlarmSpecificationOutputReference; putAlarmSpecification(value: AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification): void; resetAlarmSpecification(): void; get alarmSpecificationInput(): AutoscalingGroupInstanceRefreshPreferencesAlarmSpecification | undefined; } export interface AutoscalingGroupInstanceRefresh { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#strategy AutoscalingGroup#strategy} */ readonly strategy: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#triggers AutoscalingGroup#triggers} */ readonly triggers?: string[]; /** * preferences block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#preferences AutoscalingGroup#preferences} */ readonly preferences?: AutoscalingGroupInstanceRefreshPreferences; } export declare function autoscalingGroupInstanceRefreshToTerraform(struct?: AutoscalingGroupInstanceRefreshOutputReference | AutoscalingGroupInstanceRefresh): any; export declare function autoscalingGroupInstanceRefreshToHclTerraform(struct?: AutoscalingGroupInstanceRefreshOutputReference | AutoscalingGroupInstanceRefresh): any; export declare class AutoscalingGroupInstanceRefreshOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupInstanceRefresh | undefined; set internalValue(value: AutoscalingGroupInstanceRefresh | undefined); private _strategy?; get strategy(): string; set strategy(value: string); get strategyInput(): string | undefined; private _triggers?; get triggers(): string[]; set triggers(value: string[]); resetTriggers(): void; get triggersInput(): string[] | undefined; private _preferences; get preferences(): AutoscalingGroupInstanceRefreshPreferencesOutputReference; putPreferences(value: AutoscalingGroupInstanceRefreshPreferences): void; resetPreferences(): void; get preferencesInput(): AutoscalingGroupInstanceRefreshPreferences | undefined; } export interface AutoscalingGroupLaunchTemplate { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#id AutoscalingGroup#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#name AutoscalingGroup#name} */ readonly name?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#version AutoscalingGroup#version} */ readonly version?: string; } export declare function autoscalingGroupLaunchTemplateToTerraform(struct?: AutoscalingGroupLaunchTemplateOutputReference | AutoscalingGroupLaunchTemplate): any; export declare function autoscalingGroupLaunchTemplateToHclTerraform(struct?: AutoscalingGroupLaunchTemplateOutputReference | AutoscalingGroupLaunchTemplate): any; export declare class AutoscalingGroupLaunchTemplateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupLaunchTemplate | undefined; set internalValue(value: AutoscalingGroupLaunchTemplate | undefined); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string | undefined; } export interface AutoscalingGroupMixedInstancesPolicyInstancesDistribution { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#on_demand_allocation_strategy AutoscalingGroup#on_demand_allocation_strategy} */ readonly onDemandAllocationStrategy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#on_demand_base_capacity AutoscalingGroup#on_demand_base_capacity} */ readonly onDemandBaseCapacity?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#on_demand_percentage_above_base_capacity AutoscalingGroup#on_demand_percentage_above_base_capacity} */ readonly onDemandPercentageAboveBaseCapacity?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#spot_allocation_strategy AutoscalingGroup#spot_allocation_strategy} */ readonly spotAllocationStrategy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#spot_instance_pools AutoscalingGroup#spot_instance_pools} */ readonly spotInstancePools?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#spot_max_price AutoscalingGroup#spot_max_price} */ readonly spotMaxPrice?: string; } export declare function autoscalingGroupMixedInstancesPolicyInstancesDistributionToTerraform(struct?: AutoscalingGroupMixedInstancesPolicyInstancesDistributionOutputReference | AutoscalingGroupMixedInstancesPolicyInstancesDistribution): any; export declare function autoscalingGroupMixedInstancesPolicyInstancesDistributionToHclTerraform(struct?: AutoscalingGroupMixedInstancesPolicyInstancesDistributionOutputReference | AutoscalingGroupMixedInstancesPolicyInstancesDistribution): any; export declare class AutoscalingGroupMixedInstancesPolicyInstancesDistributionOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupMixedInstancesPolicyInstancesDistribution | undefined; set internalValue(value: AutoscalingGroupMixedInstancesPolicyInstancesDistribution | undefined); private _onDemandAllocationStrategy?; get onDemandAllocationStrategy(): string; set onDemandAllocationStrategy(value: string); resetOnDemandAllocationStrategy(): void; get onDemandAllocationStrategyInput(): string | undefined; private _onDemandBaseCapacity?; get onDemandBaseCapacity(): number; set onDemandBaseCapacity(value: number); resetOnDemandBaseCapacity(): void; get onDemandBaseCapacityInput(): number | undefined; private _onDemandPercentageAboveBaseCapacity?; get onDemandPercentageAboveBaseCapacity(): number; set onDemandPercentageAboveBaseCapacity(value: number); resetOnDemandPercentageAboveBaseCapacity(): void; get onDemandPercentageAboveBaseCapacityInput(): number | undefined; private _spotAllocationStrategy?; get spotAllocationStrategy(): string; set spotAllocationStrategy(value: string); resetSpotAllocationStrategy(): void; get spotAllocationStrategyInput(): string | undefined; private _spotInstancePools?; get spotInstancePools(): number; set spotInstancePools(value: number); resetSpotInstancePools(): void; get spotInstancePoolsInput(): number | undefined; private _spotMaxPrice?; get spotMaxPrice(): string; set spotMaxPrice(value: string); resetSpotMaxPrice(): void; get spotMaxPriceInput(): string | undefined; } export interface AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#launch_template_id AutoscalingGroup#launch_template_id} */ readonly launchTemplateId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#launch_template_name AutoscalingGroup#launch_template_name} */ readonly launchTemplateName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#version AutoscalingGroup#version} */ readonly version?: string; } export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification): any; export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationToHclTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification): any; export declare class AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification | undefined; set internalValue(value: AutoscalingGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification | undefined); private _launchTemplateId?; get launchTemplateId(): string; set launchTemplateId(value: string); resetLaunchTemplateId(): void; get launchTemplateIdInput(): string | undefined; private _launchTemplateName?; get launchTemplateName(): string; set launchTemplateName(value: string); resetLaunchTemplateName(): void; get launchTemplateNameInput(): string | undefined; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string | undefined; } export interface AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max AutoscalingGroup#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min AutoscalingGroup#min} */ readonly min?: number; } export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount): any; export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountToHclTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount): any; export declare class AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount | undefined; set internalValue(value: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max AutoscalingGroup#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min AutoscalingGroup#min} */ readonly min?: number; } export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib): any; export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibToHclTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib): any; export declare class AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib | undefined; set internalValue(value: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib | undefined); private _max?; get max(): number; set max(value: number); resetMax(): void; get maxInput(): number | undefined; private _min?; get min(): number; set min(value: number); resetMin(): void; get minInput(): number | undefined; } export interface AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#max AutoscalingGroup#max} */ readonly max?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/autoscaling_group#min AutoscalingGroup#min} */ readonly min?: number; } export declare function autoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsToTerraform(struct?: AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputReference | AutoscalingGroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequiremen