El tipo ALIYUN::ECS::InstanceGroupClone se utiliza para clonar un grupo de instancias ECS nuevas.
Sintaxis
{
"Type": "ALIYUN::ECS::InstanceGroupClone",
"Properties": {
"BackendServerWeight": Integer,
"SystemDiskAutoSnapshotPolicyId": String,
"DiskMappings": List,
"Period": Number,
"LaunchTemplateName": String,
"RamRoleName": String,
"ResourceGroupId": String,
"KeyPairName": String,
"SystemDiskDiskName": String,
"PeriodUnit": String,
"Description": String,
"Tags": List,
"AutoRenewPeriod": Number,
"ImageId": String,
"AutoRenew": String,
"SpotStrategy": String,
"SourceInstanceId": String,
"EniMappings": List,
"Password": String,
"PasswordInherit": Boolean,
"MaxAmount": Integer,
"AutoReleaseTime": String,
"SystemDiskCategory": String,
"LoadBalancerIdToAttach": String,
"LaunchTemplateId": String,
"LaunchTemplateVersion": String,
"ZoneId": String,
"InternetMaxBandwidthOut": Integer,
"InstanceName": String,
"DeletionProtection": Boolean,
"DeploymentSetId": String,
"Ipv6AddressCount": Integer,
"SecurityGroupId": String,
"SecurityGroupIds": List,
"SpotPriceLimit": String,
"HpcClusterId": String,
"SystemDiskDescription": String,
"Ipv6Addresses": List,
"SystemDiskProvisionedIops": Integer,
"SystemDiskBurstingEnabled": Boolean,
"SystemDiskKMSKeyId": String,
"SystemDiskStorageClusterId": String,
"InternetMaxBandwidthIn": Integer,
"UpdatePolicy": String,
"SystemDiskEncryptAlgorithm": String,
"SystemDiskEncrypted": String,
"SecurityOptions": Map,
"ImageOptions": Map,
"NetworkOptions": Map,
"HostNames": List,
"NetworkInterfaceQueueNumber": Integer,
"UniqueSuffix": Boolean,
"CpuOptions": Map
}
}
Propiedades
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
MaxAmount | Integer | Sí | Sí | Número de instancias ECS que se crearán de forma simultánea. | Valores válidos: de 1 a 100. |
SourceInstanceId | String | Sí | No | ID de la instancia ECS que se va a clonar. | Cada instancia clonada hereda el tipo de instancia, la imagen, el método de facturación del ancho de banda, los límites de ancho de banda y el tipo de red de la instancia de origen. Si la instancia de origen pertenece a varios security groups, las instancias nuevas se unen al primer security group de dicha instancia. |
AutoReleaseTime | String | No | No | Hora de liberación automática de las instancias ECS nuevas. | La hora debe cumplir con el formato ISO 8601; por ejemplo, |
AutoRenew | String | No | Sí | Indica si se habilita la renovación automática. | Valores válidos:
Esta propiedad es obligatoria cuando InstanceChargeType es |
AutoRenewPeriod | Number | No | Sí | Duración de cada ciclo de renovación automática. | Obligatorio cuando AutoRenew es
|
BackendServerWeight | Integer | No | No | Peso asignado a las instancias ECS nuevas para el balanceo de carga. | Valores válidos: de 0 a 100. Valor predeterminado: 100. |
CpuOptions | Map | No | No | Propiedades relacionadas con la CPU, incluida la configuración de virtualización anidada. | Para obtener más información, consulte CpuOptions properties. |
DeletionProtection | Boolean | No | No | Indica si las instancias nuevas se pueden liberar desde la consola o mediante la operación de OpenAPI DeleteInstance. | Valores válidos:
|
DeploymentSetId | String | No | Sí | ID del conjunto de despliegue. | Ninguna. |
Description | String | No | Sí | Descripción de la instancia. | Máximo de 256 caracteres. |
DiskMappings | List | No | Sí | Discos de datos que se adjuntarán. | Se admiten hasta 16 discos. Para obtener más información, consulte DiskMappings properties. |
EniMappings | List | No | Sí | Interfaces de red elásticas (ENI) que se adjuntarán a las instancias. | Solo se puede adjuntar una ENI como máximo. Para obtener más información, consulte EniMappings properties. |
HostNames | List | No | No | Permite especificar un nombre de host distinto para cada instancia cuando se crean varias de forma simultánea. | Ninguna. |
HpcClusterId | String | No | Sí | ID del clúster EHPC al que pertenecerán las instancias nuevas. | Ninguna. |
ImageId | String | No | Sí | ID de la imagen utilizada para iniciar las instancias ECS. Incluye imágenes públicas, personalizadas y de Alibaba Cloud Marketplace. | Es posible especificar el ID de una imagen pública mediante coincidencia parcial. Por ejemplo:
|
ImageOptions | Map | No | No | Propiedades relacionadas con la imagen. | Para obtener más información, consulte ImageOptions properties. |
InstanceName | String | No | Sí | Nombre de la instancia nueva. | Máximo de 128 caracteres. Puede contener letras, caracteres chinos, dígitos, guiones bajos (_), puntos (.) y guiones (-). |
InternetMaxBandwidthIn | Integer | No | No | Ancho de banda público entrante máximo. | Unidad: Mbps. Valores válidos: de 0 a 200. Valor predeterminado: 200. |
InternetMaxBandwidthOut | Integer | No | No | Ancho de banda público saliente máximo. | Unidad: Mbps. Valores válidos:
|
Ipv6AddressCount | Integer | No | Sí | Cantidad de direcciones IPv6 generadas de forma aleatoria para la ENI. | No se puede especificar junto con Ipv6Addresses e Ipv6AddressCount. |
Ipv6Addresses | List | No | Sí | Una o más direcciones IPv6 para la ENI. | La lista admite una dirección como máximo. Los cambios en esta propiedad no afectan a las instancias existentes. No se puede especificar junto con Ipv6AddressCount e Ipv6Addresses. |
KeyPairName | String | No | Sí | Nombre de la key pair que se adjunta a las instancias ECS nuevas. | Este parámetro se omite en las instancias ECS con Windows. Si lo especifica, la contraseña definida en Password se mantiene en la instancia, pero se deshabilita el inicio de sesión con contraseña en sistemas Linux. |
LaunchTemplateId | String | No | Sí | ID de la plantilla de lanzamiento. | Ninguna. |
LaunchTemplateName | String | No | Sí | Nombre de la plantilla de lanzamiento. | Ninguna. |
LaunchTemplateVersion | String | No | Sí | Versión de la plantilla de lanzamiento. | Si no se especifica ninguna versión, se utiliza la versión predeterminada. |
LoadBalancerIdToAttach | String | No | No | ID de la instancia de load balancer a la que se agregarán las instancias ECS nuevas. | Ninguna. |
NetworkInterfaceQueueNumber | Integer | No | No | Número de colas de la interfaz de red principal. |
|
NetworkOptions | Map | No | No | Propiedades relacionadas con la red. | Para obtener más información, consulte NetworkOptions properties. |
Password | String | No | Sí | Contraseña de inicio de sesión de las instancias ECS nuevas. | Debe tener entre 8 y 30 caracteres, e incluir letras, dígitos y caracteres especiales. Caracteres especiales compatibles: Si especifica este parámetro, utilice el protocolo HTTPS al llamar a la API para evitar filtraciones de la contraseña. |
PasswordInherit | Boolean | No | No | Indica si se utilizará la contraseña preconfigurada en la imagen. | Valores válidos:
Nota Cuando utilice esta propiedad, deje vacío el campo Password y asegúrese de que la imagen tenga configurada una contraseña. |
Period | Number | No | Sí | Ciclo de facturación. | Valores válidos: de 1 a 9, 12, 24, 36, 48 y 60. Unidad: meses. Obligatorio para |
PeriodUnit | String | No | Sí | Unidad de tiempo de la duración de la compra. | Valores válidos:
|
RamRoleName | String | No | Sí | Nombre del rol de RAM asignado a las instancias nuevas. | Consulte el nombre mediante la llamada a |
ResourceGroupId | String | No | No | ID del resource group al que pertenecerán las instancias nuevas. | Ninguna. |
SecurityGroupId | String | No | No | Security group de las instancias nuevas. | No se puede especificar junto con SecurityGroupIds y SecurityGroupId. |
SecurityGroupIds | List | No | No | Security groups de las instancias nuevas. | Para obtener más información, consulte Limits. No se puede especificar junto con SecurityGroupIds y SecurityGroupId. |
SecurityOptions | Map | No | No | Propiedades del sistema de confianza. | Para obtener más información, consulte SecurityOptions properties. |
SpotPriceLimit | String | No | No | Precio máximo por hora de las instancias nuevas. | Admite hasta tres decimales. Aplica únicamente cuando SpotStrategy es |
SpotStrategy | String | No | Sí | Estrategia de puja para las instancias pay-as-you-go. | Obligatorio cuando InstanceChargeType es Valores válidos:
|
SystemDiskAutoSnapshotPolicyId | String | No | Sí | ID de la política de instantáneas automáticas del disco del sistema. | Ninguna. |
SystemDiskBurstingEnabled | Boolean | No | Sí | Indica si se habilita el rendimiento en ráfaga (bursting) para el disco del sistema. | Valores válidos:
|
SystemDiskCategory | String | No | Sí | Tipo de disco del sistema. | Valores válidos:
|
SystemDiskDescription | String | No | Sí | Descripción del disco del sistema. | Ninguna. |
SystemDiskDiskName | String | No | Sí | Nombre del disco del sistema. | Debe tener entre 2 y 128 caracteres y comenzar con una letra o un carácter chino. No puede iniciar con |
SystemDiskEncryptAlgorithm | String | No | Sí | Algoritmo de cifrado del disco del sistema. | Valores válidos:
|
SystemDiskEncrypted | String | No | Sí | Indica si el disco del sistema está cifrado. | Valores válidos:
|
SystemDiskKMSKeyId | String | No | Sí | ID de la clave de KMS que utiliza el disco del sistema. | Ninguna. |
SystemDiskProvisionedIops | Integer | No | Sí | IOPS aprovisionadas del disco del sistema. | Ninguna. |
SystemDiskStorageClusterId | String | No | Sí | ID del clúster dedicado de block storage para el disco del sistema. | Ninguna. |
Tags | List | No | Sí | Etiquetas definidas por el usuario. | Admite un máximo de 20 etiquetas. Formato: |
UniqueSuffix | Boolean | No | No | Indica si se agregan sufijos secuenciales a | El sufijo comienza en 001 y no puede superar el 999. Valores válidos:
Esta propiedad no surte efecto cuando |
UpdatePolicy | String | No | Sí | Política de actualización. | Valores válidos:
|
ZoneId | String | No | No | ID de la zona. | Ninguna. |
Sintaxis de DiskMappings
"DiskMappings": [
{
"Category": String,
"DiskName": String,
"Description": String,
"Encrypted": String,
"KMSKeyId": String,
"Device": String,
"SnapshotId": String,
"Size": String,
"PerformanceLevel": String,
"AutoSnapshotPolicyId": String,
"ProvisionedIops": Integer,
"BurstingEnabled": Boolean,
"StorageClusterId": String
}
]
Propiedades de DiskMappings
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
Size | String | Sí | No | Tamaño del disco de datos. | Unidad: GB. |
AutoSnapshotPolicyId | String | No | No | ID de la política de instantáneas automáticas. | Ninguna. |
BurstingEnabled | Boolean | No | No | Indica si el bursting está habilitado. | Valores válidos:
|
Category | String | No | No | Tipo del disco de datos. | Valores válidos:
|
Description | String | No | No | Descripción del disco de datos. | De 2 a 256 caracteres. No puede comenzar con |
Device | String | No | No | Nombre del disco de datos en ECS. | Por ejemplo: |
DiskName | String | No | No | Nombre del disco de datos. | Máximo de 128 caracteres. Puede contener letras, caracteres chinos, dígitos, guiones bajos (_), puntos (.) y guiones (-). |
Encrypted | String | No | No | Indica si el disco de datos está cifrado. | Valores válidos:
|
KMSKeyId | String | No | No | ID de la clave de KMS para el disco de datos. | Ninguna. |
PerformanceLevel | String | No | No | Nivel de rendimiento cuando se crea un ESSD como disco de datos. | Valores válidos:
Para obtener información sobre cómo seleccionar un nivel de rendimiento de ESSD, consulte ESSDs. |
ProvisionedIops | Integer | No | No | IOPS aprovisionadas. | Ninguna. |
SnapshotId | String | No | No | ID de la instantánea. | Ninguna. |
StorageClusterId | String | No | No | ID del clúster dedicado de block storage. | Ninguna. |
Sintaxis de EniMappings
"EniMappings": [
{
"SecurityGroupId": String,
"VSwitchId": String,
"Description": String,
"NetworkInterfaceName": String,
"PrimaryIpAddress": String,
"InstanceType": String,
"Ipv6AddressCount": Integer,
"NetworkInterfaceTrafficMode": String,
"Ipv6Addresses": List,
"QueueNumber": Integer,
"SecurityGroupIds": List,
"QueuePairNumber": Integer,
"NetworkInterfaceId": String,
"DeleteOnRelease": Boolean,
"NetworkCardIndex": Integer
}
]
Propiedades de EniMappings
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
DeleteOnRelease | Boolean | No | No | Indica si la interfaz de red se conserva cuando se libera la instancia. | Valores válidos:
|
Description | String | No | Sí | Descripción de la ENI. | De 2 a 256 caracteres. No puede comenzar con |
InstanceType | String | No | No | Tipo de la ENI. | Se pueden configurar un máximo de dos interfaces de red. Si configura una sola ENI, esta puede ser primaria o secundaria. Si configura dos ENI, solo se admite una primaria y una secundaria. Valores válidos:
|
Ipv6AddressCount | Integer | No | No | Número de direcciones IPv6 generadas aleatoriamente que se asignan a la ENI primaria. | Valores válidos: de 1 a 10. Solo surte efecto si No se puede configurar junto con |
Ipv6Addresses | List | No | No | Una o más direcciones IPv6 asignadas a la ENI primaria. | Máximo de 10 direcciones IPv6. Notas: Solo surte efecto si Después de configurarlo, |
NetworkCardIndex | Integer | No | No | Índice de la tarjeta de red física. | Solo algunos tipos de instancia admiten esta configuración. Si Si es |
NetworkInterfaceId | String | No | No | ID de la ENI que se va a adjuntar a la instancia. | Solo surte efecto para las ENI secundarias. Después de especificar una ENI secundaria existente, no podrá configurar otras propiedades de creación de interfaces de red. |
NetworkInterfaceName | String | No | Sí | Nombre de la ENI. | De 2 a 128 caracteres. Debe comenzar con una letra o un carácter chino. No puede empezar con |
NetworkInterfaceTrafficMode | String | No | No | Modo de comunicación de la interfaz de red. | Valores válidos:
Nota El número de ENI en modo RDMA no puede superar el límite de la familia de instancias. Para obtener más información, consulte Instance family overview. |
PrimaryIpAddress | String | No | No | Dirección IP privada principal de la ENI. | La dirección debe estar disponible en el bloque CIDR de su vSwitch. Si se omite, se asigna aleatoriamente una dirección disponible dentro del vSwitch. |
QueueNumber | Integer | No | No | Número de colas de la ENI. | Notas:
|
QueuePairNumber | Integer | No | No | Número de colas de la interfaz de red RDMA. | Este campo es de tipo Long. Durante la serialización o deserialización puede haber pérdida de precisión, así que asegúrese de que el valor no supere 9007199254740991. |
SecurityGroupId | String | No | Sí | ID del security group. | El security group debe pertenecer a la misma VPC. |
SecurityGroupIds | List | No | No | Uno o más ID de security group a los que pertenece la ENI. | Notas: Si
|
VSwitchId | String | No | No | ID del vSwitch. | Ninguna. |
Sintaxis de SecurityOptions
"SecurityOptions": {
"TrustedSystemMode": String
}
Propiedades de SecurityOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
TrustedSystemMode | String | No | No | Modo de sistema de confianza. | Valor válido: Nota Una instancia de confianza solo puede usar una imagen de sistema de confianza cuando se reemplaza su disco de sistema. |
Sintaxis de ImageOptions
"ImageOptions": {
"LoginAsNonRoot": Boolean
}
Propiedades de ImageOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
LoginAsNonRoot | Boolean | No | No | Indica si una instancia que usa la imagen admite iniciar sesión como | Valores válidos:
|
Sintaxis de CpuOptions
"CpuOptions": {
"ThreadsPerCore": Integer,
"Core": Integer,
"NestedVirtualization": String
}
Propiedades de CpuOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
Core | Integer | No | No | Número de núcleos de CPU. | Esta propiedad no se puede personalizar y utiliza el valor predeterminado. Para conocer dicho valor, consulte Change CPU options. |
NestedVirtualization | String | No | No | Indica si la virtualización anidada está habilitada. Esta propiedad se encuentra en vista previa solo por invitación y actualmente no está disponible. | Valores válidos:
|
ThreadsPerCore | Integer | No | No | Número de subprocesos de CPU. | vCPU de ECS = |
Sintaxis de NetworkOptions
"NetworkOptions": {
"EnableJumboFrame": Boolean
}
Propiedades de NetworkOptions
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricciones |
EnableJumboFrame | Boolean | No | No | Indica si los Jumbo frames están habilitados para la instancia. | Valores válidos:
Nota Solo algunos tipos de instancia de octava generación y posteriores admiten esta función. Para obtener más información, consulte Jumbo Frames. |
Valores de retorno
Fn::GetAtt
InstanceIds: los ID de las nuevas instancias. Son identificadores únicos globales generados por el sistema.
-
PrivateIps: la lista de direcciones IP privadas de las instancias VPC.
NotaEste atributo surte efecto cuando NetworkType es
vpc. Por ejemplo:["172.16.XX.XX", "172.16.XX.XX", … "172.16.XX.XX"]. La lista puede contener un máximo de 100 direcciones IP separadas por comas (,). -
InnerIps: la lista de direcciones IP privadas de las instancias Classic.
NotaEste atributo surte efecto cuando NetworkType es
classic. Por ejemplo:["10.1.XX.XX", "10.1.XX.XX", …, "10.1.XX.XX"]. La lista puede contener un máximo de 100 direcciones IP separadas por comas (,). -
PublicIps: la lista de direcciones IP públicas de las instancias Classic.
NotaEste atributo surte efecto cuando NetworkType es
classic. Por ejemplo:["42.1.XX.XX", "42.1.XX.XX", … "42.1.XX.XX"]. La lista puede contener un máximo de 100 direcciones IP separadas por comas (,). HostNames: la lista de nombres de host de todas las instancias nuevas.
OrderId: la lista de ID de pedido de las instancias nuevas.
ZoneIds: el ID de zona.
Ipv6AddressIds: la lista de ID de direcciones IPv6 de las instancias ECS creadas. Es una lista bidimensional. Si una instancia no tiene direcciones IPv6, el elemento correspondiente queda vacío. Si ninguna instancia tiene direcciones IP, se devuelve
null.Ipv6Addresses: la lista de direcciones IPv6 de las instancias ECS creadas. Es una lista bidimensional. Si una instancia no tiene direcciones IPv6, el elemento correspondiente es
null. Si ninguna instancia tiene direcciones IP, se devuelvenull.
Ejemplos
ROSTemplateFormatVersion: '2015-09-01'
Description: According the existing ECS instance, clone a set of ECS instanes with the same configuration(InstanceType, ImageId, InternetChargeType, InternetMaxBandwidthOut, system disk, data disk configurations, VPC properties). The user only needs to specify SourceInstanceId.
Parameters:
SourceInstanceId:
Type: String
Description:
en: The source ECS instance ID to be cloned
zh-cn: "\u9700\u8981\u514b\u9686\u7684ECS\u5b9e\u4f8bID"
Label:
zh-cn: "\u6e90\u5b9e\u4f8bID"
en: Source Instance ID
InstanceName:
Type: String
Description:
en: '[2, 128] alphanumeric letters, underline, dot or hyphen'
zh-cn: "\u5b9e\u4f8b\u540d\u79f0\u3002\u957f\u5ea6\u4e3a2~128\u4e2a\u5b57\u7b26\uff0c\u53ef\u5305\u542b\u82f1\u6587\u3001\u6c49\u5b57\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u3001\u534a\u89d2\u53e5\u53f7\uff08.\uff09\u548c\u77ed\u5212\u7ebf\uff08-\uff09\u3002"
ConstraintDescription:
en: '[2, 128] characters, consists of uppercase letter, lowercase letter, number or special characters.'
zh-cn: "\u957f\u5ea6\u4e3a2~128\u4e2a\u5b57\u7b26\uff0c\u53ef\u5305\u542b\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u7279\u6b8a\u5b57\u7b26\u3002"
Label:
zh-cn: "\u5b9e\u4f8b\u540d\u79f0"
en: Instance Name
Default: ClonedECS
MaxLength: 128
MinLength: 2
MaxAmount:
Type: Number
Description:
en: The maximum of ECS instances, must be greater than or equal to the minimum.
zh-cn: "\u4e00\u6b21\u6027\u521b\u5efaECS\u5b9e\u4f8b\u7684\u6700\u5927\u4e2a\u6570\uff0c\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e\u4e00\u6b21\u6027\u521b\u5efaECS\u5b9e\u4f8b\u7684\u6700\u5c0f\u4e2a\u6570\u3002"
ConstraintDescription:
zh-cn: "1~100\u5185\u7684\u6574\u6570"
en: An integer within [1, 100]
Label:
zh-cn: "\u6700\u5927\u4e2a\u6570"
en: The Maximum of ECS Instances
MaxValue: 100
MinValue: 1
Default: 1
Password:
Type: String
Description:
en: '[8, 30] characters, consists of uppercase letter, lowercase letter, number or special characters such as ( ) ` ~ ! @ # $ % ^ * - + = | { } [ ] : ; ‘ , . ? / '
zh-cn: "\u957f\u5ea6\u4e3a8~30\u4e2a\u5b57\u7b26\u3002\u5fc5\u987b\u540c\u65f6\u5305\u542b\u5927\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7279\u6b8a\u5b57\u7b26\u4e2d\u7684\u4e09\u9879\uff0c\u652f\u6301\u7684\u7279\u6b8a\u5b57\u7b26\u4e3a\uff1a( ) ` ~ ! @ # $ % ^ * - + = | { } [ ] : ; \u2018 , . ? /\u3002"
ConstraintDescription:
en: 'Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^*_-+=|{}[]:;'',.?/'
zh-cn: "\u957f\u5ea6\u4e3a8~30\u4e2a\u5b57\u7b26\u3002\u5fc5\u987b\u540c\u65f6\u5305\u542b\u5927\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7279\u6b8a\u5b57\u7b26\u4e2d\u7684\u4e09\u9879\uff0c\u652f\u6301\u7684\u7279\u6b8a\u5b57\u7b26\u4e3a\uff08\uff09`~!@#$%^*_-+=|{}[]:;' ,.?/\u3002"
Label:
zh-cn: "ECS\u5b9e\u4f8b\u5bc6\u7801"
en: ECS Instance Password
MaxLength: 30
MinLength: 8
AllowedPattern: '[a-zA-Z0-9-\(\)\`\~\!@\#\$%\^\*-+=\|\{\}\[\]\:\;\‘\,\.\?\/]*'
NoEcho: true
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- InstanceName
- SourceInstanceId
- MaxAmount
- Password
Label:
default: ECS
TemplateTags:
- "acs:example\uff1a\u5f39\u6027\u8ba1\u7b97\uff1a\u6307\u5b9aSourceInstanceId\u514b\u9686\u51fa\u76f8\u540c\u914d\u7f6e\u7684\u4e00\u7ec4ECS\u5b9e\u4f8b\u3002"
Resources:
ECSInstanceGroup:
Type: ALIYUN::ECS::InstanceGroupClone
Properties:
SourceInstanceId:
Ref: SourceInstanceId
MaxAmount:
Ref: MaxAmount
Password:
Ref: Password
Outputs:
InstanceIds:
Description: The instance ID list of created ecs instance
Value:
Fn::GetAtt:
- ECSInstanceGroup
- InstanceIds
PublicIps:
Description: Public IP address list of created ecs instance.
Value:
Fn::GetAtt:
- ECSInstanceGroup
- PublicIps
ZoneIds:
Description: Zone ID of created instance.
Value:
Fn::GetAtt:
- ECSInstanceGroup
- ZoneIds{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "According the existing ECS instance, clone a set of ECS instanes with the same configuration(InstanceType, ImageId, InternetChargeType, InternetMaxBandwidthOut, system disk, data disk configurations, VPC properties). The user only needs to specify SourceInstanceId.",
"Parameters": {
"SourceInstanceId": {
"Type": "String",
"Description": {
"en": "The source ECS instance ID to be cloned",
"zh-cn": "\u9700\u8981\u514b\u9686\u7684ECS\u5b9e\u4f8bID"
},
"Label": {
"zh-cn": "\u6e90\u5b9e\u4f8bID",
"en": "Source Instance ID"
}
},
"InstanceName": {
"Type": "String",
"Description": {
"en": "[2, 128] alphanumeric letters, underline, dot or hyphen",
"zh-cn": "\u5b9e\u4f8b\u540d\u79f0\u3002\u957f\u5ea6\u4e3a2~128\u4e2a\u5b57\u7b26\uff0c\u53ef\u5305\u542b\u82f1\u6587\u3001\u6c49\u5b57\u3001\u6570\u5b57\u3001\u4e0b\u5212\u7ebf\uff08_\uff09\u3001\u534a\u89d2\u53e5\u53f7\uff08.\uff09\u548c\u77ed\u5212\u7ebf\uff08-\uff09\u3002"
},
"ConstraintDescription": {
"en": "[2, 128] characters, consists of uppercase letter, lowercase letter, number or special characters.",
"zh-cn": "\u957f\u5ea6\u4e3a2~128\u4e2a\u5b57\u7b26\uff0c\u53ef\u5305\u542b\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u7279\u6b8a\u5b57\u7b26\u3002"
},
"Label": {
"zh-cn": "\u5b9e\u4f8b\u540d\u79f0",
"en": "Instance Name"
},
"Default": "ClonedECS",
"MaxLength": 128,
"MinLength": 2
},
"MaxAmount": {
"Type": "Number",
"Description": {
"en": "The maximum of ECS instances, must be greater than or equal to the minimum.",
"zh-cn": "\u4e00\u6b21\u6027\u521b\u5efaECS\u5b9e\u4f8b\u7684\u6700\u5927\u4e2a\u6570\uff0c\u5fc5\u987b\u5927\u4e8e\u6216\u7b49\u4e8e\u4e00\u6b21\u6027\u521b\u5efaECS\u5b9e\u4f8b\u7684\u6700\u5c0f\u4e2a\u6570\u3002"
},
"ConstraintDescription": {
"zh-cn": "1~100\u5185\u7684\u6574\u6570",
"en": "An integer within [1, 100]"
},
"Label": {
"zh-cn": "\u6700\u5927\u4e2a\u6570",
"en": "The Maximum of ECS Instances"
},
"MaxValue": 100,
"MinValue": 1,
"Default": 1
},
"Password": {
"Type": "String",
"Description": {
"en": "[8, 30] characters, consists of uppercase letter, lowercase letter, number or special characters such as ( ) ` ~ ! @ # $ % ^ * - + = | { } [ ] : ; ‘ , . ? / ",
"zh-cn": "\u957f\u5ea6\u4e3a8~30\u4e2a\u5b57\u7b26\u3002\u5fc5\u987b\u540c\u65f6\u5305\u542b\u5927\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7279\u6b8a\u5b57\u7b26\u4e2d\u7684\u4e09\u9879\uff0c\u652f\u6301\u7684\u7279\u6b8a\u5b57\u7b26\u4e3a\uff1a( ) ` ~ ! @ # $ % ^ * - + = | { } [ ] : ; \u2018 , . ? /\u3002"
},
"ConstraintDescription": {
"en": "Length 8-30, must contain upper case letters, lower case letters, Numbers, special symbols three; special characters include: ()`~!@#$%^*_-+=|{}[]:;',.?/",
"zh-cn": "\u957f\u5ea6\u4e3a8~30\u4e2a\u5b57\u7b26\u3002\u5fc5\u987b\u540c\u65f6\u5305\u542b\u5927\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u7279\u6b8a\u5b57\u7b26\u4e2d\u7684\u4e09\u9879\uff0c\u652f\u6301\u7684\u7279\u6b8a\u5b57\u7b26\u4e3a\uff08\uff09`~!@#$%^*_-+=|{}[]:;' ,.?/\u3002"
},
"Label": {
"zh-cn": "ECS\u5b9e\u4f8b\u5bc6\u7801",
"en": "ECS Instance Password"
},
"MaxLength": 30,
"MinLength": 8,
"AllowedPattern": "[a-zA-Z0-9-\\(\\)\\`\\~\\!@\\#\\$%\\^\\*-+=\\|\\{\\}\\[\\]\\:\\;\\‘\\,\\.\\?\\/]*",
"NoEcho": true
}
},
"Metadata": {
"ALIYUN::ROS::Interface": {
"ParameterGroups": [
{
"Parameters": [
"InstanceName",
"SourceInstanceId",
"MaxAmount",
"Password"
],
"Label": {
"default": "ECS"
}
}
],
"TemplateTags": [
"acs:example\uff1a\u5f39\u6027\u8ba1\u7b97\uff1a\u6307\u5b9aSourceInstanceId\u514b\u9686\u51fa\u76f8\u540c\u914d\u7f6e\u7684\u4e00\u7ec4ECS\u5b9e\u4f8b\u3002"
]
}
},
"Resources": {
"ECSInstanceGroup": {
"Type": "ALIYUN::ECS::InstanceGroupClone",
"Properties": {
"SourceInstanceId": {
"Ref": "SourceInstanceId"
},
"MaxAmount": {
"Ref": "MaxAmount"
},
"Password": {
"Ref": "Password"
}
}
}
},
"Outputs": {
"InstanceIds": {
"Description": "The instance ID list of created ecs instance",
"Value": {
"Fn::GetAtt": [
"ECSInstanceGroup",
"InstanceIds"
]
}
},
"PublicIps": {
"Description": "Public IP address list of created ecs instance.",
"Value": {
"Fn::GetAtt": [
"ECSInstanceGroup",
"PublicIps"
]
}
},
"ZoneIds": {
"Description": "Zone ID of created instance.",
"Value": {
"Fn::GetAtt": [
"ECSInstanceGroup",
"ZoneIds"
]
}
}
}
}