Skip to content

InstanceGroup

This class encapsulates and extends the ROS resource type ALIYUN::ECS::InstanceGroup, which is used to create a group of Elastic Compute Service (ECS) instances that have the same configurations.

Initializers

import ros_cdk_ecs
ros_cdk_ecs.InstanceGroup(
  scope: Construct,
  id: str,
  instance_type: typing.Union[str, IResolvable],
  max_amount: typing.Union[typing.Union[int, float], IResolvable],
  affinity: typing.Union[str, IResolvable] = None,
  allocate_public_ip: typing.Union[bool, IResolvable] = None,
  auto_release_time: typing.Union[str, IResolvable] = None,
  auto_renew: typing.Union[str, IResolvable] = None,
  auto_renew_period: typing.Union[typing.Union[int, float], IResolvable] = None,
  cpu_options: typing.Union[IResolvable, CpuOptionsProperty] = None,
  credit_specification: typing.Union[str, IResolvable] = None,
  dedicated_host_id: typing.Union[str, IResolvable] = None,
  deletion_force: typing.Union[bool, IResolvable] = None,
  deletion_protection: typing.Union[bool, IResolvable] = None,
  deployment_set_group_no: typing.Union[typing.Union[int, float], IResolvable] = None,
  deployment_set_id: typing.Union[str, IResolvable] = None,
  description: typing.Union[str, IResolvable] = None,
  disk_mappings: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, DiskMappingsProperty]]] = None,
  eni_mappings: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, EniMappingsProperty]]] = None,
  host_name: typing.Union[str, IResolvable] = None,
  host_names: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  hpc_cluster_id: typing.Union[str, IResolvable] = None,
  http_endpoint: typing.Union[str, IResolvable] = None,
  http_tokens: typing.Union[str, IResolvable] = None,
  image_family: typing.Union[str, IResolvable] = None,
  image_id: typing.Union[str, IResolvable] = None,
  image_options: typing.Union[IResolvable, ImageOptionsProperty] = None,
  instance_charge_type: typing.Union[str, IResolvable] = None,
  instance_name: typing.Union[str, IResolvable] = None,
  internet_charge_type: typing.Union[str, IResolvable] = None,
  internet_max_bandwidth_out: typing.Union[typing.Union[int, float], IResolvable] = None,
  io_optimized: typing.Union[str, IResolvable] = None,
  ipv6_address_count: typing.Union[typing.Union[int, float], IResolvable] = None,
  ipv6_addresses: typing.Union[typing.List[typing.Any], IResolvable] = None,
  key_pair_name: typing.Union[str, IResolvable] = None,
  launch_template_id: typing.Union[str, IResolvable] = None,
  launch_template_name: typing.Union[str, IResolvable] = None,
  launch_template_version: typing.Union[str, IResolvable] = None,
  network_interface_queue_number: typing.Union[typing.Union[int, float], IResolvable] = None,
  network_options: typing.Union[IResolvable, NetworkOptionsProperty] = None,
  network_type: typing.Union[str, IResolvable] = None,
  password: typing.Union[str, IResolvable] = None,
  password_inherit: typing.Union[bool, IResolvable] = None,
  period: typing.Union[typing.Union[int, float], IResolvable] = None,
  period_unit: typing.Union[str, IResolvable] = None,
  private_ip_address: typing.Union[str, IResolvable] = None,
  private_pool_options: typing.Union[IResolvable, PrivatePoolOptionsProperty] = None,
  ram_role_name: typing.Union[str, IResolvable] = None,
  resource_group_id: typing.Union[str, IResolvable] = None,
  scheduler_options: typing.Union[IResolvable, SchedulerOptionsProperty] = None,
  security_enhancement_strategy: typing.Union[str, IResolvable] = None,
  security_group_id: typing.Union[str, IResolvable] = None,
  security_group_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  security_options: typing.Union[IResolvable, SecurityOptionsProperty] = None,
  spot_duration: typing.Union[typing.Union[int, float], IResolvable] = None,
  spot_interruption_behavior: typing.Union[str, IResolvable] = None,
  spot_price_limit: typing.Union[str, IResolvable] = None,
  spot_strategy: typing.Union[str, IResolvable] = None,
  storage_set_id: typing.Union[str, IResolvable] = None,
  storage_set_partition_number: typing.Union[typing.Union[int, float], IResolvable] = None,
  system_disk_auto_snapshot_policy_id: typing.Union[str, IResolvable] = None,
  system_disk_bursting_enabled: typing.Union[bool, IResolvable] = None,
  system_disk_category: typing.Union[str, IResolvable] = None,
  system_disk_description: typing.Union[str, IResolvable] = None,
  system_disk_disk_name: typing.Union[str, IResolvable] = None,
  system_disk_encrypt_algorithm: typing.Union[str, IResolvable] = None,
  system_disk_encrypted: typing.Union[str, IResolvable] = None,
  system_disk_kms_key_id: typing.Union[str, IResolvable] = None,
  system_disk_performance_level: typing.Union[str, IResolvable] = None,
  system_disk_provisioned_iops: typing.Union[typing.Union[int, float], IResolvable] = None,
  system_disk_size: typing.Union[typing.Union[int, float], IResolvable] = None,
  system_disk_storage_cluster_id: typing.Union[str, IResolvable] = None,
  tags: typing.List[TagsProperty] = None,
  tenancy: typing.Union[str, IResolvable] = None,
  unique_suffix: typing.Union[bool, IResolvable] = None,
  update_policy: typing.Union[str, IResolvable] = None,
  use_additional_service: typing.Union[bool, IResolvable] = None,
  user_data: typing.Union[str, IResolvable] = None,
  vpc_id: typing.Union[str, IResolvable] = None,
  v_switch_id: typing.Union[str, IResolvable] = None,
  zone_id: typing.Union[str, IResolvable] = None,
  zone_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
instance_type typing.Union[str, ros_cdk_core.IResolvable] Property instanceType: Ecs instance supported instance type, make sure it should be correct.
max_amount typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property maxAmount: Max number of instances to create, should be bigger than 'MinAmount' and smaller than 1000.
affinity typing.Union[str, ros_cdk_core.IResolvable] Property affinity: Specifies whether to associate the instance on a dedicated host with the dedicated host.
allocate_public_ip typing.Union[bool, ros_cdk_core.IResolvable] Property allocatePublicIp: The public ip for ecs instance, if properties is true, will allocate public ip.
auto_release_time typing.Union[str, ros_cdk_core.IResolvable] Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time.
auto_renew typing.Union[str, ros_cdk_core.IResolvable] Property autoRenew: Whether renew the fee automatically?
auto_renew_period typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property autoRenewPeriod: The time period of auto renew.
cpu_options typing.Union[ros_cdk_core.IResolvable, CpuOptionsProperty] Property cpuOptions: Cpu options.
credit_specification typing.Union[str, ros_cdk_core.IResolvable] Property creditSpecification: The performance mode of the burstable instance.
dedicated_host_id typing.Union[str, ros_cdk_core.IResolvable] Property dedicatedHostId: which dedicated host will be deployed.
deletion_force typing.Union[bool, ros_cdk_core.IResolvable] Property deletionForce: Whether force delete the instance.
deletion_protection typing.Union[bool, ros_cdk_core.IResolvable] Property deletionProtection: Whether an instance can be released manually through the console or API, deletion protection only support postPaid instance.
deployment_set_group_no typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property deploymentSetGroupNo: The number of the deployment set group to which to deploy the instance.
deployment_set_id typing.Union[str, ros_cdk_core.IResolvable] Property deploymentSetId: Deployment set ID.
description typing.Union[str, ros_cdk_core.IResolvable] Property description: Description of the instance, [2, 256] characters.
disk_mappings typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, DiskMappingsProperty]]] Property diskMappings: Disk mappings to attach to instance.
eni_mappings typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, EniMappingsProperty]]] Property eniMappings: NetworkInterface to attach to instance.
host_name typing.Union[str, ros_cdk_core.IResolvable] Property hostName: Host name of created ecs instance.
host_names typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property hostNames: The hostname of instance N.
hpc_cluster_id typing.Union[str, ros_cdk_core.IResolvable] Property hpcClusterId: The HPC cluster ID to which the instance belongs.The change of the property does not affect existing instances.
http_endpoint typing.Union[str, ros_cdk_core.IResolvable] Property httpEndpoint: Specifies whether the access channel is enabled for instance metadata.
http_tokens typing.Union[str, ros_cdk_core.IResolvable] Property httpTokens: Specifies whether the security hardening mode (IMDSv2) is forcefully used to access instance metadata.
image_family typing.Union[str, ros_cdk_core.IResolvable] Property imageFamily: The name of the image family.
image_id typing.Union[str, ros_cdk_core.IResolvable] Property imageId: Image ID to create ecs instance.
image_options typing.Union[ros_cdk_core.IResolvable, ImageOptionsProperty] Property imageOptions: Image options.
instance_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property instanceChargeType: Instance Charge type, allowed value: Prepaid and Postpaid.
instance_name typing.Union[str, ros_cdk_core.IResolvable] Property instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. Support to use the regular expression to set the different instance name for each ECS instance. InstanceName could be specified as 'name_prefix[begin_number,bits]name_suffix', such as 'testinstance[123,4]tail'. If you creates 3 instances with the instance name 'testinstance[123,4]tail', all the instances' names are testinstance0123tail, testinstance0124tail, testinstance0125tail. The 'name_prefix[begin_number,bits]name_suffix' should follow those rules: 1. 'name_prefix' is required. 2. 'name_suffix' is optional. 3. The name regular expression can't include any spaces. 4. The 'bits' must be in range [1, 6]. 5. The 'begin_number' must be in range [0, 999999]. 6. You could only specify 'begin_number'. The 'bits' will be set as 6 by default. 7. You also could only specify the [] or [,]. The 'begin_number' will be set as 0 by default, the 'bits' will be set as 6 by default. 8. If the bits of 'begin_number' is less than the 'bits' you specified, like [1234,1], the 'bits' will be set as 6 by default.
internet_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. Default is PayByTraffic.
internet_max_bandwidth_out typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property internetMaxBandwidthOut: Set internet output bandwidth of instance.
io_optimized typing.Union[str, ros_cdk_core.IResolvable] Property ioOptimized: The 'optimized' instance can provide better IO performance.
ipv6_address_count typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property ipv6AddressCount: Specifies the number of randomly generated IPv6 addresses for the elastic NIC.
ipv6_addresses typing.Union[typing.List[typing.Any], ros_cdk_core.IResolvable] Property ipv6Addresses: Specify one or more IPv6 addresses for the elastic NIC.
key_pair_name typing.Union[str, ros_cdk_core.IResolvable] Property keyPairName: SSH key pair name.Old instances will not be changed.
launch_template_id typing.Union[str, ros_cdk_core.IResolvable] Property launchTemplateId: ID of launch template.
launch_template_name typing.Union[str, ros_cdk_core.IResolvable] Property launchTemplateName: Name of launch template.
launch_template_version typing.Union[str, ros_cdk_core.IResolvable] Property launchTemplateVersion: Version of launch template.
network_interface_queue_number typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property networkInterfaceQueueNumber: The number of queues supported by the primary ENI.
network_options typing.Union[ros_cdk_core.IResolvable, NetworkOptionsProperty] Property networkOptions: Network options.
network_type typing.Union[str, ros_cdk_core.IResolvable] Property networkType: Instance network type.
password typing.Union[str, ros_cdk_core.IResolvable] Property password: Password of created ecs instance.
password_inherit typing.Union[bool, ros_cdk_core.IResolvable] Property passwordInherit: Specifies whether to use the password preset in the image.
period typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property period: Prepaid time period.
period_unit typing.Union[str, ros_cdk_core.IResolvable] Property periodUnit: Unit of prepaid time period, it could be Week\/Month\/Year.
private_ip_address typing.Union[str, ros_cdk_core.IResolvable] Property privateIpAddress: Private IP for the instance created.
private_pool_options typing.Union[ros_cdk_core.IResolvable, PrivatePoolOptionsProperty] Property privatePoolOptions: The options of the private pool.
ram_role_name typing.Union[str, ros_cdk_core.IResolvable] Property ramRoleName: Instance RAM role name.
resource_group_id typing.Union[str, ros_cdk_core.IResolvable] Property resourceGroupId: Resource group id.
scheduler_options typing.Union[ros_cdk_core.IResolvable, SchedulerOptionsProperty] Property schedulerOptions: undefined.
security_enhancement_strategy typing.Union[str, ros_cdk_core.IResolvable] Property securityEnhancementStrategy:.
security_group_id typing.Union[str, ros_cdk_core.IResolvable] Property securityGroupId: Security group to create ecs instance.
security_group_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property securityGroupIds: The IDs of security groups N to which the instance belongs.
security_options typing.Union[ros_cdk_core.IResolvable, SecurityOptionsProperty] Property securityOptions: Security options.
spot_duration typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property spotDuration: The protection period of the preemptible instance.
spot_interruption_behavior typing.Union[str, ros_cdk_core.IResolvable] Property spotInterruptionBehavior: The interruption mode of the preemptible instance.
spot_price_limit typing.Union[str, ros_cdk_core.IResolvable] Property spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid.
spot_strategy typing.Union[str, ros_cdk_core.IResolvable] Property spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid.
storage_set_id typing.Union[str, ros_cdk_core.IResolvable] Property storageSetId: The storage set ID.
storage_set_partition_number typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property storageSetPartitionNumber: The maximum number of partitions in the storage set.
system_disk_auto_snapshot_policy_id typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID.
system_disk_bursting_enabled typing.Union[bool, ros_cdk_core.IResolvable] Property systemDiskBurstingEnabled: Whether enable bursting.
system_disk_category typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskCategory: Category of system disk.
system_disk_description typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskDescription: Description of created system disk.Old instances will not be changed.
system_disk_disk_name typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskDiskName: Name of created system disk.Old instances will not be changed.
system_disk_encrypt_algorithm typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskEncryptAlgorithm: The algorithm to use to encrypt the system disk.
system_disk_encrypted typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskEncrypted: Specifies whether to encrypt the system disk.
system_disk_kms_key_id typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskKmsKeyId: The ID of the KMS key to use for the system disk.
system_disk_performance_level typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskPerformanceLevel: The performance level of the enhanced SSD used as the system disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers up to 1,000,000 random read\/write IOPS.
system_disk_provisioned_iops typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property systemDiskProvisionedIops: Provisioning IOPS.
system_disk_size typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property systemDiskSize: Disk size of the system disk, range from 20 to 500 GB.
system_disk_storage_cluster_id typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskStorageClusterId: The ID of the dedicated block storage cluster.
tags typing.List[TagsProperty] Property tags: Tags to attach to instance.
tenancy typing.Union[str, ros_cdk_core.IResolvable] Property tenancy: Specifies whether to create the instance on a dedicated host.
unique_suffix typing.Union[bool, ros_cdk_core.IResolvable] Property uniqueSuffix: Specifies whether to automatically append incremental suffixes to the hostname specified by the HostName parameter and to the instance name specified by the InstanceName parameter when you batch create instances.
update_policy typing.Union[str, ros_cdk_core.IResolvable] Property updatePolicy: Specify the policy at update.
use_additional_service typing.Union[bool, ros_cdk_core.IResolvable] Property useAdditionalService: Specifies whether to use the system configurations for virtual machines provided by Alibaba Cloud.
user_data typing.Union[str, ros_cdk_core.IResolvable] Property userData: User data to pass to instance.
vpc_id typing.Union[str, ros_cdk_core.IResolvable] Property vpcId: The VPC id to create ecs instance.
v_switch_id typing.Union[str, ros_cdk_core.IResolvable] Property vSwitchId: The vSwitch Id to create ecs instance.
zone_id typing.Union[str, ros_cdk_core.IResolvable] Property zoneId: The ID of the zone to which the instance belongs.
zone_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property zoneIds: Zone ids for query parameters.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

instance_typeRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceType: Ecs instance supported instance type, make sure it should be correct.


max_amountRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property maxAmount: Max number of instances to create, should be bigger than 'MinAmount' and smaller than 1000.


affinityOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property affinity: Specifies whether to associate the instance on a dedicated host with the dedicated host.

Valid values:

  • default: does not associate the ECS instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool if the available resources of the original dedicated host are insufficient.
  • host: associates the ECS instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the available resources of the original dedicated host are insufficient, the instance cannot start. Default value: default.

allocate_public_ipOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property allocatePublicIp: The public ip for ecs instance, if properties is true, will allocate public ip.

If property InternetMaxBandwidthOut set to 0, it will not assign public ip.


auto_release_timeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time.

format is 'yyyy-MM-ddTHH:mm:ssZ'. Not bigger than 3 years from this day onwards


auto_renewOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property autoRenew: Whether renew the fee automatically?

When the parameter InstanceChargeType is PrePaid, it will take effect. Range of value:True: automatic renewal.False: no automatic renewal. Default value is False.Old instances will not be changed.


auto_renew_periodOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property autoRenewPeriod: The time period of auto renew.

When the parameter InstanceChargeType is PrePaid, it will take effect.It could be 1, 2, 3, 6, 12, 24, 36, 48, 60. Default value is 1.Old instances will not be changed.


cpu_optionsOptional

Property cpuOptions: Cpu options.


credit_specificationOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property creditSpecification: The performance mode of the burstable instance.

Valid values:

  • Standard: the standard mode.
  • Unlimited: the unlimited mode.

dedicated_host_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property dedicatedHostId: which dedicated host will be deployed.


deletion_forceOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property deletionForce: Whether force delete the instance.

Default value is false.


deletion_protectionOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property deletionProtection: Whether an instance can be released manually through the console or API, deletion protection only support postPaid instance.


deployment_set_group_noOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property deploymentSetGroupNo: The number of the deployment set group to which to deploy the instance.

If the deployment set specified by DeploymentSetId uses the high availability group strategy (AvailabilityGroup), you can use DeploymentSetGroupNo to specify a deployment set group in the deployment set. Valid values: 1 to 7.


deployment_set_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property deploymentSetId: Deployment set ID.

The change of the property does not affect existing instances.


descriptionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property description: Description of the instance, [2, 256] characters.

Do not fill or empty, the default is empty. Old instances will not be changed.


disk_mappingsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, DiskMappingsProperty]]]

Property diskMappings: Disk mappings to attach to instance.

Max support 16 disks. If the image contains a data disk, you can specify other parameters of the data disk via the same value of parameter "Device". If parameter "Category" is not specified, it will be cloud_efficiency instead of "Category" of data disk in the image.Old instances will not be changed.


eni_mappingsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, EniMappingsProperty]]]

Property eniMappings: NetworkInterface to attach to instance.

Max support 2 ENIs.


host_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property hostName: Host name of created ecs instance.

at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 64 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components. Support to use the regular expression to set the different instance name for each ECS instance. HostName could be specified as 'name_prefix[begin_number,bits]name_suffix', such as 'host[123,4]tail'. If you creates 3 instances with hostname 'host[123,4]tail', all the host names of instances are host0123tail, host0124tail, host0125tail. The 'name_prefix[begin_number,bits]name_suffix' should follow those rules:

  1. 'name_prefix' is required.
  2. 'name_suffix' is optional.
  3. The name regular expression can't include any spaces.
  4. The 'bits' must be in range [1, 6].
  5. The 'begin_number' must be in range [0, 999999].
  6. You could only specify 'begin_number'. The 'bits' will be set as 6 by default.
  7. You also could only specify the [] or [,]. The 'begin_number' will be set as 0 by default, the 'bits' will be set as 6 by default.
  8. If the bits of 'begin_number' is less than the 'bits' you specified, like [1234,1], the 'bits' will be set as 6 by default. The host name is specified by regular expression works after restart instance manually.

host_namesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property hostNames: The hostname of instance N.

You can use this parameter to specify different hostnames for multiple instances. Take note of the following items:

  • The maximum value of N must be the same as the Amount value. For example, if you set Amount to 2, you can use HostNames.1 and HostNames.2 to specify hostnames for the individual instances. Examples: HostNames.1=test1 and HostNames.2=test2.
  • You cannot specify both HostName and HostNames.N.
  • The hostname cannot start or end with a period (.) or hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-).
  • For Windows instances, the hostname must be 2 to 15 characters in length and cannot contain periods (.) or contain only digits. The hostname can contain letters, digits, and hyphens (-).
  • For instances that run other operating systems such as Linux, the hostname must be 2 to 64 characters in length. You can use periods (.) to separate a hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).

hpc_cluster_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property hpcClusterId: The HPC cluster ID to which the instance belongs.The change of the property does not affect existing instances.


http_endpointOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property httpEndpoint: Specifies whether the access channel is enabled for instance metadata.

Valid values:

  • enabled
  • disabled Default value: enabled.

http_tokensOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property httpTokens: Specifies whether the security hardening mode (IMDSv2) is forcefully used to access instance metadata.

Valid values:

  • optional: does not forcefully use the security-enhanced mode (IMDSv2).
  • required: forcefully uses the security-enhanced mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. Default value: optional.

image_familyOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property imageFamily: The name of the image family.

You can set this parameter to obtain the latest available custom image from the specified image family to create the instance.

  • ImageFamily must be empty if ImageId is specified.
  • ImageFamily can be specified if ImageId is not specified.

image_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property imageId: Image ID to create ecs instance.


image_optionsOptional

Property imageOptions: Image options.


instance_charge_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceChargeType: Instance Charge type, allowed value: Prepaid and Postpaid.

If specified Prepaid, please ensure you have sufficient balance in your account. Or instance creation will be failure. Default value is Postpaid.Old instances will not be changed.


instance_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. Support to use the regular expression to set the different instance name for each ECS instance. InstanceName could be specified as 'name_prefix[begin_number,bits]name_suffix', such as 'testinstance[123,4]tail'. If you creates 3 instances with the instance name 'testinstance[123,4]tail', all the instances' names are testinstance0123tail, testinstance0124tail, testinstance0125tail. The 'name_prefix[begin_number,bits]name_suffix' should follow those rules: 1. 'name_prefix' is required. 2. 'name_suffix' is optional. 3. The name regular expression can't include any spaces. 4. The 'bits' must be in range [1, 6]. 5. The 'begin_number' must be in range [0, 999999]. 6. You could only specify 'begin_number'. The 'bits' will be set as 6 by default. 7. You also could only specify the [] or [,]. The 'begin_number' will be set as 0 by default, the 'bits' will be set as 6 by default. 8. If the bits of 'begin_number' is less than the 'bits' you specified, like [1234,1], the 'bits' will be set as 6 by default.


internet_charge_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. Default is PayByTraffic.


internet_max_bandwidth_outOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property internetMaxBandwidthOut: Set internet output bandwidth of instance.

Unit is Mbps(Mega bit per second). Range is [0,200]. Default is 1.While the property is not 0, public ip will be assigned for instance.


io_optimizedOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property ioOptimized: The 'optimized' instance can provide better IO performance.

Support 'none' and 'optimized' only, default is 'optimized'.


ipv6_address_countOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property ipv6AddressCount: Specifies the number of randomly generated IPv6 addresses for the elastic NIC.

Note You cannot specify the parameters Ipv6Addresses and Ipv6AddressCount at the same time. The change of the property does not affect existing instances.


ipv6_addressesOptional

  • Type: typing.Union[typing.List[typing.Any], ros_cdk_core.IResolvable]

Property ipv6Addresses: Specify one or more IPv6 addresses for the elastic NIC.

Currently, the maximum list size is 1. Example value: 2001:db8:1234:1a00::*** . Note You cannot specify the parameters Ipv6Addresses and Ipv6AddressCount at the same time. The change of the property does not affect existing instances.


key_pair_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property keyPairName: SSH key pair name.Old instances will not be changed.


launch_template_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property launchTemplateId: ID of launch template.

Launch template id or name must be specified to use launch template


launch_template_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property launchTemplateName: Name of launch template.

Launch template id or name must be specified to use launch template


launch_template_versionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property launchTemplateVersion: Version of launch template.

Default version is used if version is not specified.


network_interface_queue_numberOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property networkInterfaceQueueNumber: The number of queues supported by the primary ENI.

Take note of the following items:

  • The value of this parameter cannot exceed the maximum number of queues per ENI allowed for the instance type.
  • The total number of queues for all ENIs on the instance cannot exceed the queue quota for the instance type.
  • If NetworkInterface.N.InstanceType is set to Primary, you cannot specify NetworkInterfaceQueueNumber but can specify NetworkInterface.N.QueueNumber

network_optionsOptional

Property networkOptions: Network options.


network_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property networkType: Instance network type.

Support 'vpc' and 'classic', for compatible reason, default is 'classic'. If vswitch id and vpc id is specified, the property will be forced to be set to 'vpc'


passwordOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property password: Password of created ecs instance.

Must contain at least 3 types of special character, lower character, upper character, number.


password_inheritOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property passwordInherit: Specifies whether to use the password preset in the image.

To use the PasswordInherit parameter, the Password parameter must be empty and you must make sure that the selected image has a password configured.


periodOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property period: Prepaid time period.

Unit is month, it could be from 1 to 9 or 12, 24, 36, 48, 60. Default value is 1.Old instances will not be changed.


period_unitOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property periodUnit: Unit of prepaid time period, it could be Week\/Month\/Year.

Default value is Month.Old instances will not be changed.


private_ip_addressOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property privateIpAddress: Private IP for the instance created.

Only works for VPC instance and cannot duplicated with existing instance.


private_pool_optionsOptional

Property privatePoolOptions: The options of the private pool.


ram_role_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property ramRoleName: Instance RAM role name.

The name is provided and maintained by Resource Access Management (RAM) and can be queried using ListRoles. For more information, see RAM API CreateRole and ListRoles.


resource_group_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property resourceGroupId: Resource group id.


scheduler_optionsOptional

Property schedulerOptions: undefined.


security_enhancement_strategyOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property securityEnhancementStrategy:.


security_group_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property securityGroupId: Security group to create ecs instance.

For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC.


security_group_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property securityGroupIds: The IDs of security groups N to which the instance belongs.

The valid values of N are based on the maximum number of security groups to which an instance can belong. For more information, see Security group limits.Note: You cannot specify both SecurityGroupId and SecurityGroupIds at the same time.


security_optionsOptional

Property securityOptions: Security options.


spot_durationOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property spotDuration: The protection period of the preemptible instance.

Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6. Protection periods of 2, 3, 4, 5, and 6 hours are in invitational preview. If you want to set this parameter to one of these values, submit a ticket. If this parameter is set to 0, no protection period is configured for the preemptible instance. Default value: 1.


spot_interruption_behaviorOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property spotInterruptionBehavior: The interruption mode of the preemptible instance.

Default value: Terminate. Set the value to Terminate, which specifies to release the instance.


spot_price_limitOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid.

Three decimals is allowed at most.


spot_strategyOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid.

Value range: "NoSpot: A regular Pay-As-You-Go instance", "SpotWithPriceLimit: A price threshold for a spot instance, ""SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance. "Default value: NoSpot.


storage_set_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property storageSetId: The storage set ID.


storage_set_partition_numberOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property storageSetPartitionNumber: The maximum number of partitions in the storage set.

The value must be greater than or equal to 2.


system_disk_auto_snapshot_policy_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID.


system_disk_bursting_enabledOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property systemDiskBurstingEnabled: Whether enable bursting.


system_disk_categoryOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskCategory: Category of system disk.

Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto|cloud_essd_entry.Old instances will not be changed.


system_disk_descriptionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskDescription: Description of created system disk.Old instances will not be changed.


system_disk_disk_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskDiskName: Name of created system disk.Old instances will not be changed.


system_disk_encrypt_algorithmOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskEncryptAlgorithm: The algorithm to use to encrypt the system disk.

Valid values:

  • ase-256
  • sm4-128 Default value: ase-256.

system_disk_encryptedOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskEncrypted: Specifies whether to encrypt the system disk.

Valid values:

  • true: encrypts the system disk.
  • false: does not encrypt the system disk. Default value: false.

system_disk_kms_key_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskKmsKeyId: The ID of the KMS key to use for the system disk.


system_disk_performance_levelOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskPerformanceLevel: The performance level of the enhanced SSD used as the system disk.Default value: PL1. Valid values:PL0: A single enhanced SSD delivers up to 10,000 random read\/write IOPS.PL1: A single enhanced SSD delivers up to 50,000 random read\/write IOPS.PL2: A single enhanced SSD delivers up to 100,000 random read\/write IOPS.PL3: A single enhanced SSD delivers up to 1,000,000 random read\/write IOPS.


system_disk_provisioned_iopsOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property systemDiskProvisionedIops: Provisioning IOPS.


system_disk_sizeOptional

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

Property systemDiskSize: Disk size of the system disk, range from 20 to 500 GB.

If you specify with your own image, make sure the system disk size bigger than image size.


system_disk_storage_cluster_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property systemDiskStorageClusterId: The ID of the dedicated block storage cluster.

If you want to use disks in a dedicated block storage cluster as system disks when you create instances, you must specify this parameter.


tagsOptional

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.


tenancyOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property tenancy: Specifies whether to create the instance on a dedicated host.

Valid values:

  • default: creates the instance on a non-dedicated host.
  • host: creates the instance on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud selects a dedicated host for the instance. Default value: default.

unique_suffixOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property uniqueSuffix: Specifies whether to automatically append incremental suffixes to the hostname specified by the HostName parameter and to the instance name specified by the InstanceName parameter when you batch create instances.

The incremental suffixes can range from 001 to 999. Valid values:

  • true: appends incremental suffixes to the hostname and the instance name.
  • false: does not append incremental suffixes to the hostname or the instance name. Default value: false. When the HostName or InstanceName value is set in the name_prefix[begin_number,bits] format without a suffix (name_suffix), the UniqueSuffix parameter does not take effect. The names are sorted in the specified sequence.

update_policyOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property updatePolicy: Specify the policy at update.

The value can be 'ForNewInstances' or 'ForAllInstances'. If UpdatePolicy is 'ForAllInstance', The updatable parameters are InstanceType, ImageId, SystemDiskSize, SystemDiskCategory, Password, UserData,InternetChargeType, InternetMaxBandwidthOut, InternetMaxBandwidthIn. The default is 'ForNewInstances'


use_additional_serviceOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property useAdditionalService: Specifies whether to use the system configurations for virtual machines provided by Alibaba Cloud.

System configurations for Windows: NTP and KMS. System configurations for Linux: NTP and YUM.


user_dataOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property userData: User data to pass to instance.

[1, 16KB] characters.User data should not be base64 encoded. If you want to pass base64 encoded string to the property, use function Fn::Base64Decode to decode the base64 string first.


vpc_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vpcId: The VPC id to create ecs instance.


v_switch_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vSwitchId: The vSwitch Id to create ecs instance.


zone_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property zoneId: The ID of the zone to which the instance belongs.

For more information, call the DescribeZones operation to query the most recent zone list. Default value is empty, which means random selection.


zone_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property zoneIds: Zone ids for query parameters.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_ecs
ros_cdk_ecs.InstanceGroup.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_host_names ros_cdk_core.IResolvable Attribute HostNames: Host names of created instances.
attr_inner_ips ros_cdk_core.IResolvable Attribute InnerIps: Inner IP address list of the specified instances.
attr_instance_ids ros_cdk_core.IResolvable Attribute InstanceIds: The instance id list of created ecs instances.
attr_ipv6_addresses ros_cdk_core.IResolvable Attribute Ipv6Addresses: IPv6 addresses list of created ecs instances.
attr_ipv6_address_ids ros_cdk_core.IResolvable Attribute Ipv6AddressIds: IPv6 address IDs list of created ecs instances.
attr_order_id ros_cdk_core.IResolvable Attribute OrderId: The order id list of created instance.
attr_private_ips ros_cdk_core.IResolvable Attribute PrivateIps: Private IP address list of created ecs instances.
attr_public_ips ros_cdk_core.IResolvable Attribute PublicIps: Public IP address list of created ecs instances.
attr_zone_ids ros_cdk_core.IResolvable Attribute ZoneIds: Zone id of created instances.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_host_namesRequired

attr_host_names: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute HostNames: Host names of created instances.


attr_inner_ipsRequired

attr_inner_ips: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute InnerIps: Inner IP address list of the specified instances.

Only for classical instances.


attr_instance_idsRequired

attr_instance_ids: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute InstanceIds: The instance id list of created ecs instances.


attr_ipv6_addressesRequired

attr_ipv6_addresses: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute Ipv6Addresses: IPv6 addresses list of created ecs instances.

Note: The return type is a two-tier list. If the instance does not have any IPv6 address, the element at the corresponding position in the list is null. If all instances does not have any IPv address, will return null.


attr_ipv6_address_idsRequired

attr_ipv6_address_ids: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute Ipv6AddressIds: IPv6 address IDs list of created ecs instances.

Note: The return type is a two-tier list.If the instance does not have any IPv6 address, the element at the corresponding position in the list is null. If all instances does not have any IPv address, will return null.


attr_order_idRequired

attr_order_id: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute OrderId: The order id list of created instance.


attr_private_ipsRequired

attr_private_ips: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute PrivateIps: Private IP address list of created ecs instances.

Only for VPC instance.


attr_public_ipsRequired

attr_public_ips: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute PublicIps: Public IP address list of created ecs instances.


attr_zone_idsRequired

attr_zone_ids: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute ZoneIds: Zone id of created instances.