cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
996 lines (995 loc) • 40.4 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
import { aws_iam as iam } from "aws-cdk-lib";
/**
* Statement provider for service [autoscaling](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2autoscaling.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class Autoscaling extends PolicyStatement {
servicePrefix: string;
/**
* Grants permission to attach one or more EC2 instances to the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachInstances.html
*/
toAttachInstances(): this;
/**
* Grants permission to attach one or more target groups to the specified Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetGroupARNs()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachLoadBalancerTargetGroups.html
*/
toAttachLoadBalancerTargetGroups(): this;
/**
* Grants permission to attach one or more load balancers to the specified Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifLoadBalancerNames()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachLoadBalancers.html
*/
toAttachLoadBalancers(): this;
/**
* Grants permission to attach one or more traffic sources to an Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifTrafficSourceIdentifiers()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachTrafficSources.html
*/
toAttachTrafficSources(): this;
/**
* Grants permission to delete the specified scheduled actions
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_BatchDeleteScheduledAction.html
*/
toBatchDeleteScheduledAction(): this;
/**
* Grants permission to create or update multiple scheduled scaling actions for an Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_BatchPutScheduledUpdateGroupAction.html
*/
toBatchPutScheduledUpdateGroupAction(): this;
/**
* Grants permission to cancel an instance refresh operation in progress
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CancelInstanceRefresh.html
*/
toCancelInstanceRefresh(): this;
/**
* Grants permission to complete the lifecycle action for the specified token or instance with the specified result
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CompleteLifecycleAction.html
*/
toCompleteLifecycleAction(): this;
/**
* Grants permission to create an Auto Scaling group with the specified name and attributes
*
* Access Level: Write
*
* Possible conditions:
* - .ifCapacityReservationIds()
* - .ifCapacityReservationResourceGroupArns()
* - .ifInstanceTypes()
* - .ifLaunchConfigurationName()
* - .ifLaunchTemplateVersionSpecified()
* - .ifLoadBalancerNames()
* - .ifMaxSize()
* - .ifMinSize()
* - .ifTargetGroupARNs()
* - .ifTrafficSourceIdentifiers()
* - .ifVPCZoneIdentifiers()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
* - iam:PassRole
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateAutoScalingGroup.html
*/
toCreateAutoScalingGroup(): this;
/**
* Grants permission to create a launch configuration
*
* Access Level: Write
*
* Possible conditions:
* - .ifImageId()
* - .ifInstanceType()
* - .ifSpotPrice()
* - .ifMetadataHttpTokens()
* - .ifMetadataHttpPutResponseHopLimit()
* - .ifMetadataHttpEndpoint()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html
*/
toCreateLaunchConfiguration(): this;
/**
* Grants permission to create or update tags for the specified Auto Scaling group
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateOrUpdateTags.html
*/
toCreateOrUpdateTags(): this;
/**
* Grants permission to delete the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html
*/
toDeleteAutoScalingGroup(): this;
/**
* Grants permission to delete the specified launch configuration
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLaunchConfiguration.html
*/
toDeleteLaunchConfiguration(): this;
/**
* Grants permission to deletes the specified lifecycle hook
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLifecycleHook.html
*/
toDeleteLifecycleHook(): this;
/**
* Grants permission to delete the specified notification
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteNotificationConfiguration.html
*/
toDeleteNotificationConfiguration(): this;
/**
* Grants permission to delete the specified Auto Scaling policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeletePolicy.html
*/
toDeletePolicy(): this;
/**
* Grants permission to delete the specified scheduled action
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteScheduledAction.html
*/
toDeleteScheduledAction(): this;
/**
* Grants permission to delete the specified tags
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteTags.html
*/
toDeleteTags(): this;
/**
* Grants permission to delete the warm pool associated with the Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteWarmPool.html
*/
toDeleteWarmPool(): this;
/**
* Grants permission to describe the current Auto Scaling resource limits for your AWS account
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAccountLimits.html
*/
toDescribeAccountLimits(): this;
/**
* Grants permission to describe the policy adjustment types for use with PutScalingPolicy
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAdjustmentTypes.html
*/
toDescribeAdjustmentTypes(): this;
/**
* Grants permission to describe one or more Auto Scaling groups. If a list of names is not provided, the call describes all Auto Scaling groups
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingGroups.html
*/
toDescribeAutoScalingGroups(): this;
/**
* Grants permission to describe one or more Auto Scaling instances. If a list is not provided, the call describes all instances
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html
*/
toDescribeAutoScalingInstances(): this;
/**
* Grants permission to describe the notification types that are supported by Auto Scaling
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingNotificationTypes.html
*/
toDescribeAutoScalingNotificationTypes(): this;
/**
* Grants permission to describe one or more instance refreshes for an Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeInstanceRefreshes.html
*/
toDescribeInstanceRefreshes(): this;
/**
* Grants permission to describe one or more launch configurations. If you omit the list of names, then the call describes all launch configurations
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLaunchConfigurations.html
*/
toDescribeLaunchConfigurations(): this;
/**
* Grants permission to describe the available types of lifecycle hooks
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHookTypes.html
*/
toDescribeLifecycleHookTypes(): this;
/**
* Grants permission to describe the lifecycle hooks for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHooks.html
*/
toDescribeLifecycleHooks(): this;
/**
* Grants permission to describe the target groups for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLoadBalancerTargetGroups.html
*/
toDescribeLoadBalancerTargetGroups(): this;
/**
* Grants permission to describe the load balancers for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLoadBalancers.html
*/
toDescribeLoadBalancers(): this;
/**
* Grants permission to describe the available CloudWatch metrics for Auto Scaling
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeMetricCollectionTypes.html
*/
toDescribeMetricCollectionTypes(): this;
/**
* Grants permission to describe the notification actions associated with the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html
*/
toDescribeNotificationConfigurations(): this;
/**
* Grants permission to describe the policies for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribePolicies.html
*/
toDescribePolicies(): this;
/**
* Grants permission to describe one or more scaling activities for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingActivities.html
*/
toDescribeScalingActivities(): this;
/**
* Grants permission to describe the scaling process types for use with ResumeProcesses and SuspendProcesses
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingProcessTypes.html
*/
toDescribeScalingProcessTypes(): this;
/**
* Grants permission to describe the actions scheduled for your Auto Scaling group that haven't run
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScheduledActions.html
*/
toDescribeScheduledActions(): this;
/**
* Grants permission to describe the specified tags
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTags.html
*/
toDescribeTags(): this;
/**
* Grants permission to describe the termination policies supported by Auto Scaling
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTerminationPolicyTypes.html
*/
toDescribeTerminationPolicyTypes(): this;
/**
* Grants permission to describe the target groups for the specified Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTrafficSources.html
*/
toDescribeTrafficSources(): this;
/**
* Grants permission to describe the warm pool associated with the Auto Scaling group
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeWarmPool.html
*/
toDescribeWarmPool(): this;
/**
* Grants permission to remove one or more instances from the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachInstances.html
*/
toDetachInstances(): this;
/**
* Grants permission to detach one or more target groups from the specified Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetGroupARNs()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachLoadBalancerTargetGroups.html
*/
toDetachLoadBalancerTargetGroups(): this;
/**
* Grants permission to remove one or more load balancers from the specified Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifLoadBalancerNames()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachLoadBalancers.html
*/
toDetachLoadBalancers(): this;
/**
* Grants permission to detach one or more traffic sources from an Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifTrafficSourceIdentifiers()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachTrafficSources.html
*/
toDetachTrafficSources(): this;
/**
* Grants permission to disable monitoring of the specified metrics for the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DisableMetricsCollection.html
*/
toDisableMetricsCollection(): this;
/**
* Grants permission to enable monitoring of the specified metrics for the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnableMetricsCollection.html
*/
toEnableMetricsCollection(): this;
/**
* Grants permission to move the specified instances into Standby mode
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnterStandby.html
*/
toEnterStandby(): this;
/**
* Grants permission to execute the specified policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExecutePolicy.html
*/
toExecutePolicy(): this;
/**
* Grants permission to move the specified instances out of Standby mode
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExitStandby.html
*/
toExitStandby(): this;
/**
* Grants permission to retrieve the forecast data for a predictive scaling policy
*
* Access Level: List
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_GetPredictiveScalingForecast.html
*/
toGetPredictiveScalingForecast(): this;
/**
* Grants permission to create or update a lifecycle hook for the specified Auto Scaling Group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutLifecycleHook.html
*/
toPutLifecycleHook(): this;
/**
* Grants permission to configure an Auto Scaling group to send notifications when specified events take place
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutNotificationConfiguration.html
*/
toPutNotificationConfiguration(): this;
/**
* Grants permission to create or update a policy for an Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScalingPolicy.html
*/
toPutScalingPolicy(): this;
/**
* Grants permission to create or update a scheduled scaling action for an Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifMaxSize()
* - .ifMinSize()
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html
*/
toPutScheduledUpdateGroupAction(): this;
/**
* Grants permission to create or update the warm pool associated with the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutWarmPool.html
*/
toPutWarmPool(): this;
/**
* Grants permission to record a heartbeat for the lifecycle action associated with the specified token or instance
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_RecordLifecycleActionHeartbeat.html
*/
toRecordLifecycleActionHeartbeat(): this;
/**
* Grants permission to resume the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ResumeProcesses.html
*/
toResumeProcesses(): this;
/**
* Grants permission to rollback an instance refresh operation in progress
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_RollbackInstanceRefresh.html
*/
toRollbackInstanceRefresh(): this;
/**
* Grants permission to set the size of the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetDesiredCapacity.html
*/
toSetDesiredCapacity(): this;
/**
* Grants permission to set the health status of the specified instance
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetInstanceHealth.html
*/
toSetInstanceHealth(): this;
/**
* Grants permission to update the instance protection settings of the specified instances
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetInstanceProtection.html
*/
toSetInstanceProtection(): this;
/**
* Grants permission to start a new instance refresh operation
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_StartInstanceRefresh.html
*/
toStartInstanceRefresh(): this;
/**
* Grants permission to suspend the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SuspendProcesses.html
*/
toSuspendProcesses(): this;
/**
* Grants permission to terminate the specified instance and optionally adjust the desired group size
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_TerminateInstanceInAutoScalingGroup.html
*/
toTerminateInstanceInAutoScalingGroup(): this;
/**
* Grants permission to update the configuration for the specified Auto Scaling group
*
* Access Level: Write
*
* Possible conditions:
* - .ifCapacityReservationIds()
* - .ifCapacityReservationResourceGroupArns()
* - .ifInstanceTypes()
* - .ifLaunchConfigurationName()
* - .ifLaunchTemplateVersionSpecified()
* - .ifMaxSize()
* - .ifMinSize()
* - .ifVPCZoneIdentifiers()
*
* Dependent actions:
* - iam:PassRole
*
* https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_UpdateAutoScalingGroup.html
*/
toUpdateAutoScalingGroup(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type autoScalingGroup to the statement
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-resources
*
* @param groupId - Identifier for the groupId.
* @param groupFriendlyName - Identifier for the groupFriendlyName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifResourceTag()
* - .ifAwsResourceTag()
*/
onAutoScalingGroup(groupId: string, groupFriendlyName: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type launchConfiguration to the statement
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-resources
*
* @param id - Identifier for the id.
* @param launchConfigurationName - Identifier for the launchConfigurationName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onLaunchConfiguration(id: string, launchConfigurationName: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access based on the Capacity Reservation IDs
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifCapacityReservationIds(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the ARN of a Capacity Reservation resource group
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifCapacityReservationResourceGroupArns(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the AMI ID for the launch configuration
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifImageId(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the instance type for the launch configuration
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifInstanceType(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the instance types present as overrides to a launch template for a mixed instances policy. Use it to qualify which instance types can be explicitly defined in the policy
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifInstanceTypes(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the name of a launch configuration
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifLaunchConfigurationName(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on whether users can specify any version of a launch template or only the Latest or Default version
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value `true` or `false`. **Default:** `true`
*/
ifLaunchTemplateVersionSpecified(value?: boolean): this;
/**
* Filters access based on the name of the load balancer
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toAttachLoadBalancers()
* - .toCreateAutoScalingGroup()
* - .toDetachLoadBalancers()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifLoadBalancerNames(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the maximum scaling size in the request
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toPutScheduledUpdateGroupAction()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals`
*/
ifMaxSize(value: number | number[], operator?: Operator | string): this;
/**
* Filters access based on whether the HTTP endpoint is enabled for the instance metadata service
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifMetadataHttpEndpoint(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the allowed number of hops when calling the instance metadata service
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals`
*/
ifMetadataHttpPutResponseHopLimit(value: number | number[], operator?: Operator | string): this;
/**
* Filters access based on whether tokens are required when calling the instance metadata service (optional or required)
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifMetadataHttpTokens(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the minimum scaling size in the request
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toPutScheduledUpdateGroupAction()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals`
*/
ifMinSize(value: number | number[], operator?: Operator | string): this;
/**
* Filters access based on the tags associated with the resource
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toAttachInstances()
* - .toAttachLoadBalancerTargetGroups()
* - .toAttachLoadBalancers()
* - .toAttachTrafficSources()
* - .toBatchDeleteScheduledAction()
* - .toBatchPutScheduledUpdateGroupAction()
* - .toCancelInstanceRefresh()
* - .toCompleteLifecycleAction()
* - .toCreateAutoScalingGroup()
* - .toCreateOrUpdateTags()
* - .toDeleteAutoScalingGroup()
* - .toDeleteLifecycleHook()
* - .toDeleteNotificationConfiguration()
* - .toDeletePolicy()
* - .toDeleteScheduledAction()
* - .toDeleteTags()
* - .toDeleteWarmPool()
* - .toDetachInstances()
* - .toDetachLoadBalancerTargetGroups()
* - .toDetachLoadBalancers()
* - .toDetachTrafficSources()
* - .toDisableMetricsCollection()
* - .toEnableMetricsCollection()
* - .toEnterStandby()
* - .toExecutePolicy()
* - .toExitStandby()
* - .toPutLifecycleHook()
* - .toPutNotificationConfiguration()
* - .toPutScalingPolicy()
* - .toPutScheduledUpdateGroupAction()
* - .toPutWarmPool()
* - .toRecordLifecycleActionHeartbeat()
* - .toResumeProcesses()
* - .toRollbackInstanceRefresh()
* - .toSetDesiredCapacity()
* - .toSetInstanceHealth()
* - .toSetInstanceProtection()
* - .toStartInstanceRefresh()
* - .toSuspendProcesses()
* - .toTerminateInstanceInAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* Applies to resource types:
* - autoScalingGroup
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the price for Spot Instances for the launch configuration
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateLaunchConfiguration()
*
* @param value The value(s) to check
* @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals`
*/
ifSpotPrice(value: number | number[], operator?: Operator | string): this;
/**
* Filters access based on the ARN of a target group
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toAttachLoadBalancerTargetGroups()
* - .toCreateAutoScalingGroup()
* - .toDetachLoadBalancerTargetGroups()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifTargetGroupARNs(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the identifiers of the traffic sources
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toAttachTrafficSources()
* - .toCreateAutoScalingGroup()
* - .toDetachTrafficSources()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifTrafficSourceIdentifiers(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the identifier of a VPC zone
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifVPCZoneIdentifiers(value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the tags that are passed in the request
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toCreateOrUpdateTags()
* - .toDeleteTags()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the tags associated with the resource
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toAttachInstances()
* - .toAttachLoadBalancerTargetGroups()
* - .toAttachLoadBalancers()
* - .toAttachTrafficSources()
* - .toBatchDeleteScheduledAction()
* - .toBatchPutScheduledUpdateGroupAction()
* - .toCancelInstanceRefresh()
* - .toCompleteLifecycleAction()
* - .toCreateAutoScalingGroup()
* - .toCreateOrUpdateTags()
* - .toDeleteAutoScalingGroup()
* - .toDeleteLifecycleHook()
* - .toDeleteNotificationConfiguration()
* - .toDeletePolicy()
* - .toDeleteScheduledAction()
* - .toDeleteTags()
* - .toDeleteWarmPool()
* - .toDetachInstances()
* - .toDetachLoadBalancerTargetGroups()
* - .toDetachLoadBalancers()
* - .toDetachTrafficSources()
* - .toDisableMetricsCollection()
* - .toEnableMetricsCollection()
* - .toEnterStandby()
* - .toExecutePolicy()
* - .toExitStandby()
* - .toPutLifecycleHook()
* - .toPutNotificationConfiguration()
* - .toPutScalingPolicy()
* - .toPutScheduledUpdateGroupAction()
* - .toPutWarmPool()
* - .toRecordLifecycleActionHeartbeat()
* - .toResumeProcesses()
* - .toRollbackInstanceRefresh()
* - .toSetDesiredCapacity()
* - .toSetInstanceHealth()
* - .toSetInstanceProtection()
* - .toStartInstanceRefresh()
* - .toSuspendProcesses()
* - .toTerminateInstanceInAutoScalingGroup()
* - .toUpdateAutoScalingGroup()
*
* Applies to resource types:
* - autoScalingGroup
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access based on the tag keys that are passed in the request
*
* https://docs.aws.amazon.com/autoscaling/latest/userguide/control-access-using-iam.html#policy-auto-scaling-condition-keys
*
* Applies to actions:
* - .toCreateAutoScalingGroup()
* - .toCreateOrUpdateTags()
* - .toDeleteTags()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
/**
* Statement provider for service [autoscaling](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2autoscaling.html).
*
*/
constructor(props?: iam.PolicyStatementProps);
}