Skip to content

ScalingConfigurationProps

Properties for defining a ScalingConfiguration.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ess-scalingconfiguration

Initializer

import "github.com/alibabacloud-go/ros-cdk/alicloudroscdkess"
&alicloudroscdkess.ScalingConfigurationProps {
    ScalingGroupId: interface{},
    Affinity: interface{},
    Cpu: interface{},
    CreditSpecification: interface{},
    DedicatedHostId: interface{},
    DeploymentSetId: interface{},
    DiskMappings: interface{},
    HostName: interface{},
    HpcClusterId: interface{},
    ImageFamily: interface{},
    ImageId: interface{},
    ImageName: interface{},
    ImageOptionsLoginAsNonRoot: interface{},
    InstanceDescription: interface{},
    InstanceId: interface{},
    InstanceName: interface{},
    InstancePatternInfos: interface{},
    InstanceType: interface{},
    InstanceTypeOverrides: interface{},
    InstanceTypes: interface{},
    InternetChargeType: interface{},
    InternetMaxBandwidthIn: interface{},
    InternetMaxBandwidthOut: interface{},
    IoOptimized: interface{},
    Ipv6AddressCount: interface{},
    KeyPairName: interface{},
    LoadBalancerWeight: interface{},
    Memory: interface{},
    Password: interface{},
    PasswordInherit: interface{},
    PrivatePoolOptions: interface{},
    RamRoleName: interface{},
    ResourceGroupId: interface{},
    ScalingConfigurationName: interface{},
    SecurityEnhancementStrategy: interface{},
    SecurityGroupId: interface{},
    SecurityGroupIds: interface{},
    SpotDuration: interface{},
    SpotInterruptionBehavior: interface{},
    SpotPriceLimit: interface{},
    SpotPriceLimitForInstanceType: interface{},
    SpotStrategy: interface{},
    SystemDiskAutoSnapshotPolicyId: interface{},
    SystemDiskBurstingEnabled: interface{},
    SystemDiskCategories: interface{},
    SystemDiskCategory: interface{},
    SystemDiskDescription: interface{},
    SystemDiskDiskName: interface{},
    SystemDiskEncryptAlgorithm: interface{},
    SystemDiskEncrypted: interface{},
    SystemDiskKmsKeyId: interface{},
    SystemDiskPerformanceLevel: interface{},
    SystemDiskProvisionedIops: interface{},
    SystemDiskSize: interface{},
    TagList: interface{},
    Tenancy: interface{},
    UserData: interface{},
    ZoneId: interface{},
}

Properties

Name Type Description
ScalingGroupId interface{} Property scalingGroupId: Scaling group id to create the scaling configuration.
Affinity interface{} Property affinity: Specifies whether to associate an ECS instance on a dedicated host with the dedicated host.
Cpu interface{} Property cpu: The number of vCPUs.
CreditSpecification interface{} Property creditSpecification: The performance mode of the burstable instance.
DedicatedHostId interface{} Property dedicatedHostId: The ID of the dedicated host on which you want to create an ECS instance.
DeploymentSetId interface{} Property deploymentSetId: Deployment set ID.
DiskMappings interface{} Property diskMappings: Disk mappings to attach to instance.
HostName interface{} Property hostName: The hostname of the ECS instance.
HpcClusterId interface{} Property hpcClusterId: The HPC cluster ID to which the instance belongs.
ImageFamily interface{} Property imageFamily: The name of the image family.
ImageId interface{} Property imageId: Image ID to create ecs instance .
ImageName interface{} Property imageName: The name of the image.
ImageOptionsLoginAsNonRoot interface{} Property imageOptionsLoginAsNonRoot: Whether the ecs instance is logged in as ecs-user.Valid values: - true - false Default value: false.
InstanceDescription interface{} Property instanceDescription: The description of the ECS instance.
InstanceId interface{} Property instanceId: Source ECS instance to copy configuration, if the properties is setting, Which will copy the InstanceType, ImageId, InternetChargeType, IoOptimized,UserData, KeyPairName, RamRoleName, InternetMaxBandwidthIn,InternetMaxBandwidthOut, and first security group id from source instance, you can also specify the relative properties to overwrite the properties copy from source instance id.
InstanceName interface{} Property instanceName: The name of the instance launched from the current scaling configuration.
InstancePatternInfos interface{} Property instancePatternInfos: Details of the intelligent configuration settings that determine the range of instance types that meet the specified criteria.
InstanceType interface{} Property instanceType: ecs supported instance type.
InstanceTypeOverrides interface{} Property instanceTypeOverrides: The instance types.
InstanceTypes interface{} Property instanceTypes: ecs supported instance types.
InternetChargeType interface{} Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only.
InternetMaxBandwidthIn interface{} Property internetMaxBandwidthIn: Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second).
InternetMaxBandwidthOut interface{} Property internetMaxBandwidthOut: Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second).
IoOptimized interface{} Property ioOptimized: The 'optimized' instance can provide better IO performance.
Ipv6AddressCount interface{} Property ipv6AddressCount: The number of randomly generated IPv6 addresses to be assigned to the elastic network interface (ENI).
KeyPairName interface{} Property keyPairName: SSH key pair name.
LoadBalancerWeight interface{} Property loadBalancerWeight: The weight of the ECS instance as a backend server.
Memory interface{} Property memory: The memory size.
Password interface{} Property password: Password of created ecs instance.
PasswordInherit interface{} Property passwordInherit: Whether to use the password pre-configured in the image you select or not.
PrivatePoolOptions interface{} Property privatePoolOptions: Option settings for private pools.
RamRoleName interface{} Property ramRoleName: Instance RAM role name.
ResourceGroupId interface{} Property resourceGroupId: Resource group id.
ScalingConfigurationName interface{} Property scalingConfigurationName: Name of created scaling configuration.
SecurityEnhancementStrategy interface{} Property securityEnhancementStrategy: Specifies whether to enable security hardening.
SecurityGroupId interface{} Property securityGroupId: Security Group to create ecs instance.
SecurityGroupIds interface{} Property securityGroupIds: The IDs of the security groups with which you want to associate the ECS instances that are created by using the scaling configuration.
SpotDuration interface{} Property spotDuration: The retention period of the preemptible instance.
SpotInterruptionBehavior interface{} Property spotInterruptionBehavior: The interruption mode of the preemptible instance.
SpotPriceLimit interface{} Property spotPriceLimit: Set the hourly maximum price for the instance.
SpotPriceLimitForInstanceType interface{} Property spotPriceLimitForInstanceType: Set the hourly maximum price for the instance of specified instance type.
SpotStrategy interface{} Property spotStrategy: Preemption strategy for post-paid instances.
SystemDiskAutoSnapshotPolicyId interface{} Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID.
SystemDiskBurstingEnabled interface{} Property systemDiskBurstingEnabled: Specifies whether to enable the burst feature for the system disk.
SystemDiskCategories interface{} Property systemDiskCategories: The categories of the system disks.
SystemDiskCategory interface{} Property systemDiskCategory: Category of system disk.
SystemDiskDescription interface{} Property systemDiskDescription: The description of the system disk.
SystemDiskDiskName interface{} Property systemDiskDiskName: The name of the system disk.
SystemDiskEncryptAlgorithm interface{} Property systemDiskEncryptAlgorithm: The encryption algorithm that you want to use to encrypt the system disk.
SystemDiskEncrypted interface{} Property systemDiskEncrypted: Specifies whether to encrypt the system disk.
SystemDiskKmsKeyId interface{} Property systemDiskKmsKeyId: The ID of the KMS key that you want to use to encrypt the system disk.
SystemDiskPerformanceLevel interface{} Property systemDiskPerformanceLevel: The performance level of an ESSD.
SystemDiskProvisionedIops interface{} Property systemDiskProvisionedIops: The IOPS metric that is preconfigured for the system disk.
SystemDiskSize interface{} Property systemDiskSize: Size of system disk.
TagList interface{} Property tagList: The tags of an instance in list format.
Tenancy interface{} Property tenancy: Specifies whether to create an ECS instance on a dedicated host.
UserData interface{} Property userData: User data to pass to instance.
ZoneId interface{} Property zoneId: The zone ID of the ECS instance.

ScalingGroupIdRequired

ScalingGroupId interface{}
  • Type: interface{}

Property scalingGroupId: Scaling group id to create the scaling configuration.


AffinityOptional

Affinity interface{}
  • Type: interface{}

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

Valid values:

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

CpuOptional

Cpu interface{}
  • Type: interface{}

Property cpu: The number of vCPUs.

You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type. Note: You can specify Cpu and Memory to determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types in the scaling configuration.


CreditSpecificationOptional

CreditSpecification interface{}
  • Type: interface{}

Property creditSpecification: The performance mode of the burstable instance.

Valid values: Standard: the standard mode. Unlimited: the unlimited mode.


DedicatedHostIdOptional

DedicatedHostId interface{}
  • Type: interface{}

Property dedicatedHostId: The ID of the dedicated host on which you want to create an ECS instance.

You cannot create preemptible instances on dedicated hosts. If you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored. You can call the DescribeDedicatedHosts operation to query dedicated host IDs.


DeploymentSetIdOptional

DeploymentSetId interface{}
  • Type: interface{}

Property deploymentSetId: Deployment set ID.


DiskMappingsOptional

DiskMappings interface{}
  • Type: interface{}

Property diskMappings: Disk mappings to attach to instance.


HostNameOptional

HostName interface{}
  • Type: interface{}

Property hostName: The hostname of the ECS instance.

The hostname cannot start or end with a period (.) or a hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-). Naming conventions for different types of instances: Windows instances: The hostname must be 2 to 15 characters in length, and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or contain only digits. Other instances such as Linux instances: 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 (-).


HpcClusterIdOptional

HpcClusterId interface{}
  • Type: interface{}

Property hpcClusterId: The HPC cluster ID to which the instance belongs.


ImageFamilyOptional

ImageFamily interface{}
  • Type: interface{}

Property imageFamily: The name of the image family.

You can configure this parameter to obtain the latest available images within the specified image family. The images are used to create ECS instances. If you have set the ImageId parameter, you cannot set the ImageFamily parameter.


ImageIdOptional

ImageId interface{}
  • Type: interface{}

Property imageId: Image ID to create ecs instance .


ImageNameOptional

ImageName interface{}
  • Type: interface{}

Property imageName: The name of the image.

Each image name must be unique in a region. If you specify ImageId, ImageName is ignored. You cannot use ImageName to specify images that are purchased from Alibaba Cloud Marketplace.


ImageOptionsLoginAsNonRootOptional

ImageOptionsLoginAsNonRoot interface{}
  • Type: interface{}

Property imageOptionsLoginAsNonRoot: Whether the ecs instance is logged in as ecs-user.Valid values: - true - false Default value: false.


InstanceDescriptionOptional

InstanceDescription interface{}
  • Type: interface{}

Property instanceDescription: The description of the ECS instance.

The description must be 2 to 256 characters in length. The description can contain letters and cannot start with http:// or https://.


InstanceIdOptional

InstanceId interface{}
  • Type: interface{}

Property instanceId: Source ECS instance to copy configuration, if the properties is setting, Which will copy the InstanceType, ImageId, InternetChargeType, IoOptimized,UserData, KeyPairName, RamRoleName, InternetMaxBandwidthIn,InternetMaxBandwidthOut, and first security group id from source instance, you can also specify the relative properties to overwrite the properties copy from source instance id.


InstanceNameOptional

InstanceName interface{}
  • Type: interface{}

Property instanceName: The name of the instance launched from the current scaling configuration.


InstancePatternInfosOptional

InstancePatternInfos interface{}
  • Type: interface{}

Property instancePatternInfos: Details of the intelligent configuration settings that determine the range of instance types that meet the specified criteria.


InstanceTypeOptional

InstanceType interface{}
  • Type: interface{}

Property instanceType: ecs supported instance type.


InstanceTypeOverridesOptional

InstanceTypeOverrides interface{}
  • Type: interface{}

Property instanceTypeOverrides: The instance types.


InstanceTypesOptional

InstanceTypes interface{}
  • Type: interface{}

Property instanceTypes: ecs supported instance types.

Length [1,10]. If InstanceTypes is specified,the InstanceType will be ignored.


InternetChargeTypeOptional

InternetChargeType interface{}
  • Type: interface{}

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


InternetMaxBandwidthInOptional

InternetMaxBandwidthIn interface{}
  • Type: interface{}

Property internetMaxBandwidthIn: Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second).

The value range is [1,200]. If this parameter value is not specified, AliyunAPI automatically sets the value to 200 Mbps.


InternetMaxBandwidthOutOptional

InternetMaxBandwidthOut interface{}
  • Type: interface{}

Property internetMaxBandwidthOut: Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second).

The value range for PayByBandwidth is [0,100]. If this parameter value is not specified, AliyunAPI automatically sets the value to 0 Mbps. The value range for PayByTraffic is [0,100]. If this parameter value is not specified, an error is reported


IoOptimizedOptional

IoOptimized interface{}
  • Type: interface{}

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

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


Ipv6AddressCountOptional

Ipv6AddressCount interface{}
  • Type: interface{}

Property ipv6AddressCount: The number of randomly generated IPv6 addresses to be assigned to the elastic network interface (ENI).


KeyPairNameOptional

KeyPairName interface{}
  • Type: interface{}

Property keyPairName: SSH key pair name.


LoadBalancerWeightOptional

LoadBalancerWeight interface{}
  • Type: interface{}

Property loadBalancerWeight: The weight of the ECS instance as a backend server.

Valid values: 1 to 100. Default value: 50.


MemoryOptional

Memory interface{}
  • Type: interface{}

Property memory: The memory size.

Unit: GiB. You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set Cpu to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type. Note: You can specify Cpu and Memory to determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types in the scaling configuration.


PasswordOptional

Password interface{}
  • Type: interface{}

Property password: Password of created ecs instance.

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


PasswordInheritOptional

PasswordInherit interface{}
  • Type: interface{}

Property passwordInherit: Whether to use the password pre-configured in the image you select or not.

When PasswordInherit is specified, the Password must be null. For a secure access, make sure that the selected image has password configured.


PrivatePoolOptionsOptional

PrivatePoolOptions interface{}
  • Type: interface{}

Property privatePoolOptions: Option settings for private pools.


RamRoleNameOptional

RamRoleName interface{}
  • Type: interface{}

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.


ResourceGroupIdOptional

ResourceGroupId interface{}
  • Type: interface{}

Property resourceGroupId: Resource group id.


ScalingConfigurationNameOptional

ScalingConfigurationName interface{}
  • Type: interface{}

Property scalingConfigurationName: Name of created scaling configuration.


SecurityEnhancementStrategyOptional

SecurityEnhancementStrategy interface{}
  • Type: interface{}

Property securityEnhancementStrategy: Specifies whether to enable security hardening.

Valid values:

  • Active: enables security hardening. This value is applicable only to public images.
  • Deactive: disables security hardening. This value is applicable to all image types.

SecurityGroupIdOptional

SecurityGroupId interface{}
  • Type: interface{}

Property securityGroupId: Security Group to create ecs instance.


SecurityGroupIdsOptional

SecurityGroupIds interface{}
  • Type: interface{}

Property securityGroupIds: The IDs of the security groups with which you want to associate the ECS instances that are created by using the scaling configuration.

Note: If you specify SecurityGroupId, you cannot specify SecurityGroupIds.


SpotDurationOptional

SpotDuration interface{}
  • Type: interface{}

Property spotDuration: The retention period of the preemptible instance.

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


SpotInterruptionBehaviorOptional

SpotInterruptionBehavior interface{}
  • Type: interface{}

Property spotInterruptionBehavior: The interruption mode of the preemptible instance.

Default value: Terminate. Set the value to Terminate. This value specifies that the preemptible instance is to be released.


SpotPriceLimitOptional

SpotPriceLimit interface{}
  • Type: interface{}

Property spotPriceLimit: Set the hourly maximum price for the instance.

Supports a maximum of 3 decimal places, and the parameter takes effect only when the value of SpotStrategy is SpotWithPriceLimit.It is a default value for all instance types, and can be overwrite by SpotPriceLimitForInstanceType


SpotPriceLimitForInstanceTypeOptional

SpotPriceLimitForInstanceType interface{}
  • Type: interface{}

Property spotPriceLimitForInstanceType: Set the hourly maximum price for the instance of specified instance type.

The parameter takes effect only when the value of SpotStrategy is SpotWithPriceLimit. You should input the information of the tag with the format of the Key-Value, such as {"key1":"value1","key2":"value2", ... "key5":"value5"}. At most 50 items can be specified. Key ecs instance type Value Supports a maximum of 3 decimal places.


SpotStrategyOptional

SpotStrategy interface{}
  • Type: interface{}

Property spotStrategy: Preemption strategy for post-paid instances.

It takes effect when the parameter InstanceChargeType takes the value of PostPaid. Ranges: NoSpot: Normal pay-per-use instance SpotWithPriceLimit: Set a preemptive instance of the cap price SpotAsPriceGo: System automatic bidding, following the current market actual price Default: NoSpot.


SystemDiskAutoSnapshotPolicyIdOptional

SystemDiskAutoSnapshotPolicyId interface{}
  • Type: interface{}

Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID.


SystemDiskBurstingEnabledOptional

SystemDiskBurstingEnabled interface{}
  • Type: interface{}

Property systemDiskBurstingEnabled: Specifies whether to enable the burst feature for the system disk.

Valid values:

  • true
  • false Note: This parameter is available only if you set SystemDiskCategory to cloud_auto.

SystemDiskCategoriesOptional

SystemDiskCategories interface{}
  • Type: interface{}

Property systemDiskCategories: The categories of the system disks.

If Auto Scaling cannot create instances by using the disk category that has the highest priority, Auto Scaling creates instances by using the disk category that has the next highest priority. Valid values:

  • cloud: basic disk
  • cloud_efficiency: ultra disk
  • cloud_ssd: standard SSD
  • cloud_essd: ESSD Note: If you specify SystemDiskCategories, you cannot specify SystemDiskCategory.

SystemDiskCategoryOptional

SystemDiskCategory interface{}
  • Type: interface{}

Property systemDiskCategory: Category of system disk.

Default is cloud.support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto


SystemDiskDescriptionOptional

SystemDiskDescription interface{}
  • Type: interface{}

Property systemDiskDescription: The description of the system disk.

The description must be 2 to 256 characters in length. The description can contain letters and cannot start with http:// or https://.


SystemDiskDiskNameOptional

SystemDiskDiskName interface{}
  • Type: interface{}

Property systemDiskDiskName: The name of the system disk.

The name must be 2 to 128 characters in length. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://.


SystemDiskEncryptAlgorithmOptional

SystemDiskEncryptAlgorithm interface{}
  • Type: interface{}

Property systemDiskEncryptAlgorithm: The encryption algorithm that you want to use to encrypt the system disk.

Valid values:

  • AES-256
  • SM4-128 Default value: AES-256

SystemDiskEncryptedOptional

SystemDiskEncrypted interface{}
  • Type: interface{}

Property systemDiskEncrypted: Specifies whether to encrypt the system disk.

Valid values:

  • true
  • false Default value: false

SystemDiskKmsKeyIdOptional

SystemDiskKmsKeyId interface{}
  • Type: interface{}

Property systemDiskKmsKeyId: The ID of the KMS key that you want to use to encrypt the system disk.


SystemDiskPerformanceLevelOptional

SystemDiskPerformanceLevel interface{}
  • Type: interface{}

Property systemDiskPerformanceLevel: The performance level of an ESSD.


SystemDiskProvisionedIopsOptional

SystemDiskProvisionedIops interface{}
  • Type: interface{}

Property systemDiskProvisionedIops: The IOPS metric that is preconfigured for the system disk.

Note: IOPS measures the number of read and write operations that an EBS device can process per second.


SystemDiskSizeOptional

SystemDiskSize interface{}
  • Type: interface{}

Property systemDiskSize: Size of system disk.

Unit is GB.


TagListOptional

TagList interface{}
  • Type: interface{}

Property tagList: The tags of an instance in list format.

Do not use with Tags at the same time. You should input the information of the tag with the format of Key-Value list, such as [{"Key":"key1","Value":"value1"}, ...]. At most 20 tags can be specified. Key It can be up to 64 characters in length. Cannot begin with aliyun. Cannot begin with http:// or https://. Cannot be a null string. Value It can be up to 128 characters in length. Cannot begin with aliyun. Cannot begin with http:// or https://. Can be a null string.If less then 20 tags are specified, ros will add a tag(Key: "ros-aliyun-created", Value:"stack") if possible.


TenancyOptional

Tenancy interface{}
  • Type: interface{}

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

Valid values:

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

UserDataOptional

UserData interface{}
  • Type: interface{}

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.


ZoneIdOptional

ZoneId interface{}
  • Type: interface{}

Property zoneId: The zone ID of the ECS instance.