UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

996 lines (995 loc) 40.4 kB
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); }