Skip to content

LaunchTemplate

This class encapsulates and extends the ROS resource type ALIYUN::ECS::LaunchTemplate, which is used to create a launch template.

You can use a launch template to create an Elastic Compute Service (ECS) instance.

Initializers

import ros_cdk_ecs
ros_cdk_ecs.LaunchTemplate(
  scope: Construct,
  id: str,
  launch_template_name: typing.Union[str, IResolvable],
  auto_release_time: typing.Union[str, 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,
  host_name: typing.Union[str, IResolvable] = None,
  image_id: typing.Union[str, IResolvable] = None,
  image_owner_alias: typing.Union[str, IResolvable] = None,
  instance_charge_type: typing.Union[str, IResolvable] = None,
  instance_name: typing.Union[str, IResolvable] = None,
  instance_type: 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,
  key_pair_name: typing.Union[str, IResolvable] = None,
  network_interfaces: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, NetworkInterfacesProperty]]] = None,
  network_type: typing.Union[str, IResolvable] = None,
  password_inherit: typing.Union[bool, IResolvable] = None,
  period: typing.Union[typing.Union[int, float], IResolvable] = None,
  private_ip_address: typing.Union[str, IResolvable] = None,
  ram_role_name: typing.Union[str, IResolvable] = None,
  resource_group_id: typing.Union[str, IResolvable] = 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,
  spot_duration: typing.Union[typing.Union[int, float], IResolvable] = None,
  spot_price_limit: typing.Union[str, IResolvable] = None,
  spot_strategy: typing.Union[str, IResolvable] = None,
  system_disk_category: typing.Union[str, IResolvable] = None,
  system_disk_delete_with_instance: typing.Union[bool, IResolvable] = None,
  system_disk_description: typing.Union[str, IResolvable] = None,
  system_disk_disk_name: typing.Union[str, IResolvable] = None,
  system_disk_performance_level: typing.Union[str, IResolvable] = None,
  system_disk_size: typing.Union[typing.Union[int, float], IResolvable] = None,
  tags: typing.List[TagsProperty] = None,
  template_resource_group_id: typing.Union[str, IResolvable] = None,
  template_tags: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, TemplateTagsProperty]]] = None,
  user_data: typing.Union[str, IResolvable] = None,
  version_description: typing.Union[str, IResolvable] = None,
  v_switch_id: typing.Union[str, IResolvable] = None,
  zone_id: 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.
launch_template_name typing.Union[str, ros_cdk_core.IResolvable] Property launchTemplateName: The name of launch template.
auto_release_time typing.Union[str, ros_cdk_core.IResolvable] Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time.
deployment_set_id typing.Union[str, ros_cdk_core.IResolvable] Property deploymentSetId: The ID of the deployment set.
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.
host_name typing.Union[str, ros_cdk_core.IResolvable] Property hostName: Host name of created ecs instance.
image_id typing.Union[str, ros_cdk_core.IResolvable] Property imageId: Image ID to create ecs instance.
image_owner_alias typing.Union[str, ros_cdk_core.IResolvable] Property imageOwnerAlias: The source of the image.
instance_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property instanceChargeType: The billing method of the instance.
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 '.', '-'.
instance_type typing.Union[str, ros_cdk_core.IResolvable] Property instanceType: Ecs instance supported instance type, make sure it should be correct.
internet_charge_type typing.Union[str, ros_cdk_core.IResolvable] Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only.
internet_max_bandwidth_out typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property internetMaxBandwidthOut: Max internet out bandwidth in Mbps(Mega bit per second).
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: The number of IPv6 addresses to be randomly generated for the primary ENI.
key_pair_name typing.Union[str, ros_cdk_core.IResolvable] Property keyPairName: SSH key pair name.
network_interfaces typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, NetworkInterfacesProperty]]] Property networkInterfaces: Elastic network interfaces to be attached to instance.
network_type typing.Union[str, ros_cdk_core.IResolvable] Property networkType: Instance network type.
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: The subscription period of the instance.
private_ip_address typing.Union[str, ros_cdk_core.IResolvable] Property privateIpAddress: The private IP address of the instance.
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: The ID of the resource group to which to assign the instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI).
security_enhancement_strategy typing.Union[str, ros_cdk_core.IResolvable] Property securityEnhancementStrategy: Activate or deactivate security enhancement,Value range: "Active" and "Deactive".
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 ID of security group list to which to assign the instance.
spot_duration typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable] Property spotDuration: The protection period 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.
system_disk_category typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskCategory: Category of system disk.
system_disk_delete_with_instance typing.Union[bool, ros_cdk_core.IResolvable] Property systemDiskDeleteWithInstance: Specifies whether to release the system disk when the instance is released.
system_disk_description typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskDescription: Description of created system disk.
system_disk_disk_name typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskDiskName: Name of created system disk.
system_disk_performance_level typing.Union[str, ros_cdk_core.IResolvable] Property systemDiskPerformanceLevel: The performance level of the ESSD that is used as the system disk.
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.
tags typing.List[TagsProperty] Property tags: Tags to attach to instance, security group, disk and network interface.
template_resource_group_id typing.Union[str, ros_cdk_core.IResolvable] Property templateResourceGroupId: The ID of the resource group to which to assign the launch template.
template_tags typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, TemplateTagsProperty]]] Property templateTags: Template tags to attach to launch template.
user_data typing.Union[str, ros_cdk_core.IResolvable] Property userData: User data to pass to instance.
version_description typing.Union[str, ros_cdk_core.IResolvable] Property versionDescription: Description for version 1 of launch template.
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: Current zone to create the instance.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

launch_template_nameRequired

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

Property launchTemplateName: The name of launch template.


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


deployment_set_idOptional

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

Property deploymentSetId: The ID of the deployment set.


descriptionOptional

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

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


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.


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 30 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components.


image_idOptional

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

Property imageId: Image ID to create ecs instance.


image_owner_aliasOptional

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

Property imageOwnerAlias: The source of the image.

Valid values: system: public images provided by Alibaba Cloud. self: your custom images. others: shared images from other Alibaba Cloud accounts. marketplace: Alibaba Cloud Marketplace images. If Alibaba Cloud Marketplace images are found, you can use these images without prior subscription. You must pay attention to the billing details of Alibaba Cloud Marketplace images.


instance_charge_typeOptional

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

Property instanceChargeType: The billing method of the instance.

Valid values: PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account supports payment by credit. Otherwise, an InvalidPayMethod error is returned. PostPaid: pay-as-you-go.


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 '.', '-'.


instance_typeOptional

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

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


internet_charge_typeOptional

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

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


internet_max_bandwidth_outOptional

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

Property internetMaxBandwidthOut: Max internet out bandwidth in Mbps(Mega bit per second).

Range is [0,200].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.


ipv6_address_countOptional

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

Property ipv6AddressCount: The number of IPv6 addresses to be randomly generated for the primary ENI.

Valid values: 1 to 10.


key_pair_nameOptional

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

Property keyPairName: SSH key pair name.


network_interfacesOptional

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

Property networkInterfaces: Elastic network interfaces to be attached to instance.


network_typeOptional

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

Property networkType: Instance network type.

Support 'vpc' and 'classic'


password_inheritOptional

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

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

Note When you use this parameter, leave Password empty and make sure that the selected image has a password preset.


periodOptional

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

Property period: The subscription period of the instance.

Unit: months. This parameter is valid and required only when InstanceChargeType is set to PrePaid. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.


private_ip_addressOptional

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

Property privateIpAddress: The private IP address of the instance.

To assign a private IP address to an instance of the VPC type, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the VSwitchId parameter.


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: The ID of the resource group to which to assign the instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI).


security_enhancement_strategyOptional

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

Property securityEnhancementStrategy: Activate or deactivate security enhancement,Value range: "Active" and "Deactive".


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 ID of security group list to which to assign the instance.


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_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. "


system_disk_categoryOptional

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

Property systemDiskCategory: Category of system disk.

support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd


system_disk_delete_with_instanceOptional

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

Property systemDiskDeleteWithInstance: Specifies whether to release the system disk when the instance is released.

Valid values: true: releases the system disk when the instance is released. false: does not release the system disk when the instance is released. Default value: true.


system_disk_descriptionOptional

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

Property systemDiskDescription: Description of created system disk.


system_disk_disk_nameOptional

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

Property systemDiskDiskName: Name of created system disk.


system_disk_performance_levelOptional

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

Property systemDiskPerformanceLevel: The performance level of the ESSD that is used as the system disk.

Valid values: PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. PL3: A single ESSD can deliver up to 1,000,000 random read/write 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.


tagsOptional

Property tags: Tags to attach to instance, security group, disk and network interface.


template_resource_group_idOptional

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

Property templateResourceGroupId: The ID of the resource group to which to assign the launch template.


template_tagsOptional

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

Property templateTags: Template tags to attach to launch template.


user_dataOptional

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

Property userData: User data to pass to instance.

[1, 16KB] characters.


version_descriptionOptional

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

Property versionDescription: Description for version 1 of launch template.


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: Current zone to create the instance.


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.LaunchTemplate.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_default_version_number ros_cdk_core.IResolvable Attribute DefaultVersionNumber: The default version number of launch template.
attr_latest_version_number ros_cdk_core.IResolvable Attribute LatestVersionNumber: The latest version number of launch template.
attr_launch_template_id ros_cdk_core.IResolvable Attribute LaunchTemplateId: The id of launch template.
attr_launch_template_name ros_cdk_core.IResolvable Attribute LaunchTemplateName: The name of launch template.

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_default_version_numberRequired

attr_default_version_number: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute DefaultVersionNumber: The default version number of launch template.


attr_latest_version_numberRequired

attr_latest_version_number: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute LatestVersionNumber: The latest version number of launch template.


attr_launch_template_idRequired

attr_launch_template_id: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute LaunchTemplateId: The id of launch template.


attr_launch_template_nameRequired

attr_launch_template_name: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute LaunchTemplateName: The name of launch template.