ScalingGroupProps
Properties for defining a ScalingGroup
.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ess-scalinggroup
Initializer
import ros_cdk_ess
ros_cdk_ess.ScalingGroupProps(
max_size: typing.Union[typing.Union[int, float], IResolvable],
min_size: typing.Union[typing.Union[int, float], IResolvable],
allocation_strategy: typing.Union[str, IResolvable] = None,
az_balance: typing.Union[bool, IResolvable] = None,
compensate_with_on_demand: typing.Union[bool, IResolvable] = None,
container_group_id: typing.Union[str, IResolvable] = None,
custom_policy_arn: typing.Union[str, IResolvable] = None,
db_instance_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
default_cooldown: typing.Union[typing.Union[int, float], IResolvable] = None,
desired_capacity: typing.Union[typing.Union[int, float], IResolvable] = None,
group_deletion_protection: typing.Union[bool, IResolvable] = None,
group_type: typing.Union[str, IResolvable] = None,
health_check_type: typing.Union[str, IResolvable] = None,
instance_id: typing.Union[str, IResolvable] = None,
launch_template_id: typing.Union[str, IResolvable] = None,
launch_template_overrides: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, LaunchTemplateOverridesProperty]]] = None,
launch_template_version: typing.Union[str, IResolvable] = None,
load_balancer_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
max_instance_lifetime: typing.Union[typing.Union[int, float], IResolvable] = None,
multi_az_policy: typing.Union[str, IResolvable] = None,
notification_configurations: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, NotificationConfigurationsProperty]]] = None,
on_demand_base_capacity: typing.Union[typing.Union[int, float], IResolvable] = None,
on_demand_percentage_above_base_capacity: typing.Union[typing.Union[int, float], IResolvable] = None,
protected_instances: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
removal_policys: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
resource_group_id: typing.Union[str, IResolvable] = None,
scaling_group_name: typing.Union[str, IResolvable] = None,
scaling_policy: typing.Union[str, IResolvable] = None,
server_groups: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, ServerGroupsProperty]]] = None,
spot_allocation_strategy: typing.Union[str, IResolvable] = None,
spot_instance_pools: typing.Union[typing.Union[int, float], IResolvable] = None,
spot_instance_remedy: typing.Union[bool, IResolvable] = None,
standby_instances: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
tags: typing.List[TagsProperty] = None,
v_switch_id: typing.Union[str, IResolvable] = None,
v_switch_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None
)
Properties
Name | Type | Description |
---|---|---|
max_size |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property maxSize: Maximum number of ECS instances in the scaling group. |
min_size |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property minSize: Minimum number of ECS instances in the scaling group. |
allocation_strategy |
typing.Union[str, ros_cdk_core.IResolvable] |
Property allocationStrategy: The allocation policy of instances. |
az_balance |
typing.Union[bool, ros_cdk_core.IResolvable] |
Property azBalance: Specifies whether to evenly distribute instances in the scaling group across multiple zones. |
compensate_with_on_demand |
typing.Union[bool, ros_cdk_core.IResolvable] |
Property compensateWithOnDemand: Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of instances when the expected capacity of preemptible instances cannot be fulfilled due to reasons such as high prices or insufficient resources. |
container_group_id |
typing.Union[str, ros_cdk_core.IResolvable] |
Property containerGroupId: The ID of the elastic container instance. |
custom_policy_arn |
typing.Union[str, ros_cdk_core.IResolvable] |
Property customPolicyArn: The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). |
db_instance_ids |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property dbInstanceIds: ID list of an RDS instance. |
default_cooldown |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property defaultCooldown: Default cool-down time (in seconds) of the scaling group. |
desired_capacity |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property desiredCapacity: The expected number of ECS instances in a scaling group. |
group_deletion_protection |
typing.Union[bool, ros_cdk_core.IResolvable] |
Property groupDeletionProtection: Whether to enable deletion protection for scaling group. |
group_type |
typing.Union[str, ros_cdk_core.IResolvable] |
Property groupType: The type of instances that are managed by the scaling group. |
health_check_type |
typing.Union[str, ros_cdk_core.IResolvable] |
Property healthCheckType: The health check type. |
instance_id |
typing.Union[str, ros_cdk_core.IResolvable] |
Property instanceId: The ID of the ECS instance from which the scaling group obtains configuration information of the specified instance. |
launch_template_id |
typing.Union[str, ros_cdk_core.IResolvable] |
Property launchTemplateId: The ID of the instance launch template from which the scaling group obtains launch configurations. |
launch_template_overrides |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, LaunchTemplateOverridesProperty]]] |
Property launchTemplateOverrides: You can specify up to 10 overrides. |
launch_template_version |
typing.Union[str, ros_cdk_core.IResolvable] |
Property launchTemplateVersion: The version of the instance launch template. |
load_balancer_ids |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property loadBalancerIds: ID list of a Server Load Balancer instance. |
max_instance_lifetime |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property maxInstanceLifetime: The maximum life span of an ECS instance in the scaling group. |
multi_az_policy |
typing.Union[str, ros_cdk_core.IResolvable] |
Property multiAzPolicy: ECS scaling strategy for multi availability zone. |
notification_configurations |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, NotificationConfigurationsProperty]]] |
Property notificationConfigurations: When a scaling event occurs in a scaling group, ESS will send a notification to Cloud Monitor or MNS. |
on_demand_base_capacity |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property onDemandBaseCapacity: The minimum number of pay-as-you-go instances required in the scaling group. |
on_demand_percentage_above_base_capacity |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property onDemandPercentageAboveBaseCapacity: The percentage of pay-as-you-go instances that can be created when instances are added to the scaling group. |
protected_instances |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property protectedInstances: ECS instances of protected mode in the scaling group. |
removal_policys |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property removalPolicys: Policy for removing ECS instances from the scaling group. |
resource_group_id |
typing.Union[str, ros_cdk_core.IResolvable] |
Property resourceGroupId: Resource group id. |
scaling_group_name |
typing.Union[str, ros_cdk_core.IResolvable] |
Property scalingGroupName: Name shown for the scaling group, which must contain 2-40 characters (English or Chinese). |
scaling_policy |
typing.Union[str, ros_cdk_core.IResolvable] |
Property scalingPolicy: The reclaim mode of the scaling group. |
server_groups |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, ServerGroupsProperty]]] |
Property serverGroups: The config of server group. |
spot_allocation_strategy |
typing.Union[str, ros_cdk_core.IResolvable] |
Property spotAllocationStrategy: The allocation policy of preemptible instances. |
spot_instance_pools |
typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] |
Property spotInstancePools: The number of instance types that are available. |
spot_instance_remedy |
typing.Union[bool, ros_cdk_core.IResolvable] |
Property spotInstanceRemedy: Specifies whether to supplement preemptible instances. |
standby_instances |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property standbyInstances: ECS instances of standby mode in the scaling group. |
tags |
typing.List[TagsProperty] |
Property tags: Tags to attach to instance. |
v_switch_id |
typing.Union[str, ros_cdk_core.IResolvable] |
Property vSwitchId: If you create a VPC scaling group, you must specify the ID of a VSwitch. |
v_switch_ids |
typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] |
Property vSwitchIds: Parameter VSwitchIds.N is used to create instance in multiple zones. Parameter VSwitchIds.N has a priority over parameter VSwitchId. The valid range of N is [1, 8], and you can specify at most 5 VSwitches in a VPC. The priority of VSwitches descends from 1 to 8, and 1 indicates the highest priority. When you fail to create an instance in the zone to which a specified VSwitch belongs, another VSwitch with less priority replaces the specified one automatically. |
max_size
Required
max_size: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property maxSize: Maximum number of ECS instances in the scaling group.
Value range: [0, 2000].
min_size
Required
min_size: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property minSize: Minimum number of ECS instances in the scaling group.
Value range: [0, 2000].
allocation_strategy
Optional
allocation_strategy: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property allocationStrategy: The allocation policy of instances.
Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set MultiAZPolicy to COMPOSABLE. Valid values:
- priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.
- lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances. Default value: priority.
az_balance
Optional
az_balance: typing.Union[bool, IResolvable]
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property azBalance: Specifies whether to evenly distribute instances in the scaling group across multiple zones.
This parameter takes effect only if you set MultiAZPolicy to COMPOSABLE. Valid values:
- true
- false Default value: false.
compensate_with_on_demand
Optional
compensate_with_on_demand: typing.Union[bool, IResolvable]
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property compensateWithOnDemand: Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of instances when the expected capacity of preemptible instances cannot be fulfilled due to reasons such as high prices or insufficient resources.
This parameter takes effect only when MultiAZPolicy is set to COST_OPTIMIZED. Default value: true.
container_group_id
Optional
container_group_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property containerGroupId: The ID of the elastic container instance.
custom_policy_arn
Optional
custom_policy_arn: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property customPolicyArn: The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function).
This parameter takes effect only if you specify CustomPolicy as the value of first item of RemovalPolicys.
db_instance_ids
Optional
db_instance_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property dbInstanceIds: ID list of an RDS instance.
A Json Array with format: [ "rm-id0", "rm-id1", ... "rm-idz" ], support up to 100 RDS instance.
default_cooldown
Optional
default_cooldown: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property defaultCooldown: Default cool-down time (in seconds) of the scaling group.
Value range: [0, 86400]. The default value is 300s.
desired_capacity
Optional
desired_capacity: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property desiredCapacity: The expected number of ECS instances in a scaling group.
The scaling group automatically keeps the number of ECS instances as expected. The number of ECS instances cannot be greater than the value of MaxSize and cannot be less than the value of MinSize.
group_deletion_protection
Optional
group_deletion_protection: typing.Union[bool, IResolvable]
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property groupDeletionProtection: Whether to enable deletion protection for scaling group.
Default to False.
group_type
Optional
group_type: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property groupType: The type of instances that are managed by the scaling group.
Valid values: ECS ECI Default value: ECS.
health_check_type
Optional
health_check_type: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property healthCheckType: The health check type.
Allow values is "ECS" and "NONE", default to "ECS".
instance_id
Optional
instance_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property instanceId: The ID of the ECS instance from which the scaling group obtains configuration information of the specified instance.
launch_template_id
Optional
launch_template_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property launchTemplateId: The ID of the instance launch template from which the scaling group obtains launch configurations.
launch_template_overrides
Optional
launch_template_overrides: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, LaunchTemplateOverridesProperty]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, LaunchTemplateOverridesProperty]]]
Property launchTemplateOverrides: You can specify up to 10 overrides.
Note: This parameter takes effect only if you specify LaunchTemplateId.
launch_template_version
Optional
launch_template_version: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property launchTemplateVersion: The version of the instance launch template.
Valid values: A fixed template version numbe. Default: The default template version is always used. Latest: The latest template version is always used.
load_balancer_ids
Optional
load_balancer_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property loadBalancerIds: ID list of a Server Load Balancer instance.
A Json Array with format: [ "lb-id0", "lb-id1", ... "lb-idz" ], support up to 100 Load Balancer instance.
max_instance_lifetime
Optional
max_instance_lifetime: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property maxInstanceLifetime: The maximum life span of an ECS instance in the scaling group.
Unit: seconds. Valid values: 86400 to the value of Integer.maxValue. Default value: null. Note: This parameter is unavailable for scaling groups of the ECI type or scaling groups whose ScalingPolicy is set to recycle.
multi_az_policy
Optional
multi_az_policy: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property multiAzPolicy: ECS scaling strategy for multi availability zone.
Allow value:
- PRIORITY: scaling the capacity according to the virtual switch (VSwitchIds.N) you define. ECS instances are automatically created using the next priority virtual switch when the higher priority virtual switch cannot be created in the available zone.
- BALANCE: evenly allocate ECS instances between the multiple available zone specified by the scaling group.
- COST_OPTIMIZED: During a scale-out activity, Auto Scaling attempts to create ECS instances that have vCPUs provided at the lowest price. During a scale-in activity, Auto Scaling attempts to remove ECS instances that have vCPUs provided at the highest price. Preemptible instances are preferentially created when preemptible instance types are specified in the active scaling configuration. You can configure the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources. Note COST_OPTIMIZED is valid when multiple instance types are specified or at least one preemptible instance type is specified.
- COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.
notification_configurations
Optional
notification_configurations: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, NotificationConfigurationsProperty]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, NotificationConfigurationsProperty]]]
Property notificationConfigurations: When a scaling event occurs in a scaling group, ESS will send a notification to Cloud Monitor or MNS.
on_demand_base_capacity
Optional
on_demand_base_capacity: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property onDemandBaseCapacity: The minimum number of pay-as-you-go instances required in the scaling group.
Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. If you set MultiAZPolicy to COMPOSABLE Policy, the default value of this parameter is 0.
on_demand_percentage_above_base_capacity
Optional
on_demand_percentage_above_base_capacity: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property onDemandPercentageAboveBaseCapacity: The percentage of pay-as-you-go instances that can be created when instances are added to the scaling group.
This parameter takes effect when the number of pay-as-you-go instances reaches the value for the OnDemandBaseCapacity parameter. Valid values: 0 to 100. If you set MultiAZPolicy to COMPOSABLE, the default value of this parameter is 100.
protected_instances
Optional
protected_instances: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property protectedInstances: ECS instances of protected mode in the scaling group.
removal_policys
Optional
removal_policys: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property removalPolicys: Policy for removing ECS instances from the scaling group.
Optional values:
- OldestInstance: removes the first ECS instance attached to the scaling group.
- NewestInstance: removes the first ECS instance attached to the scaling group.
- OldestScalingConfiguration: removes the ECS instance with the oldest scaling configuration.
- CustomPolicy: removes ECS instances based on the custom scale-in policy (Function). You can enter up to three removal policies. You cannot set any item of RemovalPolicys to the same value. The scaling configuration source specified by the OldestScalingConfiguration setting can be a scaling configuration or a launch template. You can specify CustomPolicy only as the value of first item of RemovalPolicys. If you set first item of RemovalPolicys to CustomPolicy, you must also specify CustomPolicyARN. Note: The removal of ECS instances from a scaling group is also affected by the value of MultiAZPolicy.
resource_group_id
Optional
resource_group_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property resourceGroupId: Resource group id.
scaling_group_name
Optional
scaling_group_name: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property scalingGroupName: Name shown for the scaling group, which must contain 2-40 characters (English or Chinese).
The name must begin with a number, an upper/lower-case letter or a Chinese character and may contain numbers, "_", "-" or ".". The account name is unique in the same region. If this parameter is not specified, the default value is ScalingGroupId.
scaling_policy
Optional
scaling_policy: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property scalingPolicy: The reclaim mode of the scaling group.
Valid values: recycle release forcerelease ScalingPolicy specifies the reclaim modes of scaling groups, but the policy that is used to remove ECS instances from scaling groups is determined by the RemovePolicy parameter of the RemoveInstances operation.
server_groups
Optional
server_groups: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, ServerGroupsProperty]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, ServerGroupsProperty]]]
Property serverGroups: The config of server group.
spot_allocation_strategy
Optional
spot_allocation_strategy: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property spotAllocationStrategy: The allocation policy of preemptible instances.
You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only if you set MultiAZPolicy to COMPOSABLE. Valid values:
- priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.
- lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances. Default value: priority.
spot_instance_pools
Optional
spot_instance_pools: typing.Union[typing.Union[int, float], IResolvable]
- Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]
Property spotInstancePools: The number of instance types that are available.
The system creates preemptible instances of multiple instance types that are available at the lowest cost in the scaling group. Valid values: 1 to 10. If you set MultiAZPolicy to COMPOSABLE, the default value of this parameter is 2.
spot_instance_remedy
Optional
spot_instance_remedy: typing.Union[bool, IResolvable]
- Type: typing.Union[bool, ros_cdk_core.IResolvable]
Property spotInstanceRemedy: Specifies whether to supplement preemptible instances.
If this parameter is set to true, Auto Scaling attempts to create an instance to replace a preemptible instance when Auto Scaling receives a system message which indicates that the preemptible instance is to be reclaimed.
standby_instances
Optional
standby_instances: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property standbyInstances: ECS instances of standby mode in the scaling group.
tags
Optional
tags: typing.List[TagsProperty]
- Type: typing.List[TagsProperty]
Property tags: Tags to attach to instance.
Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.
v_switch_id
Optional
v_switch_id: typing.Union[str, IResolvable]
- Type: typing.Union[str, ros_cdk_core.IResolvable]
Property vSwitchId: If you create a VPC scaling group, you must specify the ID of a VSwitch.
v_switch_ids
Optional
v_switch_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]]
- Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]
Property vSwitchIds: Parameter VSwitchIds.N is used to create instance in multiple zones. Parameter VSwitchIds.N has a priority over parameter VSwitchId. The valid range of N is [1, 8], and you can specify at most 5 VSwitches in a VPC. The priority of VSwitches descends from 1 to 8, and 1 indicates the highest priority. When you fail to create an instance in the zone to which a specified VSwitch belongs, another VSwitch with less priority replaces the specified one automatically.