ScalingConfigurationProps
Properties for defining a ScalingConfiguration.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ess-scalingconfiguration
Initializer
using AlibabaCloud.SDK.ROS.CDK.Ess;
new ScalingConfigurationProps {
object ScalingGroupId,
object Affinity = null,
object Cpu = null,
object CreditSpecification = null,
object DedicatedHostId = null,
object DeploymentSetId = null,
object DiskMappings = null,
object HostName = null,
object HpcClusterId = null,
object ImageFamily = null,
object ImageId = null,
object ImageName = null,
object ImageOptionsLoginAsNonRoot = null,
object InstanceDescription = null,
object InstanceId = null,
object InstanceName = null,
object InstancePatternInfos = null,
object InstanceType = null,
object InstanceTypeOverrides = null,
object InstanceTypes = null,
object InternetChargeType = null,
object InternetMaxBandwidthIn = null,
object InternetMaxBandwidthOut = null,
object IoOptimized = null,
object Ipv6AddressCount = null,
object KeyPairName = null,
object LoadBalancerWeight = null,
object Memory = null,
object Password = null,
object PasswordInherit = null,
object PrivatePoolOptions = null,
object RamRoleName = null,
object ResourceGroupId = null,
object ScalingConfigurationName = null,
object SecurityEnhancementStrategy = null,
object SecurityGroupId = null,
object SecurityGroupIds = null,
object SpotDuration = null,
object SpotInterruptionBehavior = null,
object SpotPriceLimit = null,
object SpotPriceLimitForInstanceType = null,
object SpotStrategy = null,
object SystemDiskAutoSnapshotPolicyId = null,
object SystemDiskBurstingEnabled = null,
object SystemDiskCategories = null,
object SystemDiskCategory = null,
object SystemDiskDescription = null,
object SystemDiskDiskName = null,
object SystemDiskEncryptAlgorithm = null,
object SystemDiskEncrypted = null,
object SystemDiskKmsKeyId = null,
object SystemDiskPerformanceLevel = null,
object SystemDiskProvisionedIops = null,
object SystemDiskSize = null,
object TagList = null,
object Tenancy = null,
object UserData = null,
object ZoneId = null
};
Properties
| Name | Type | Description |
|---|---|---|
ScalingGroupId |
object |
Property scalingGroupId: Scaling group id to create the scaling configuration. |
Affinity |
object |
Property affinity: Specifies whether to associate an ECS instance on a dedicated host with the dedicated host. |
Cpu |
object |
Property cpu: The number of vCPUs. |
CreditSpecification |
object |
Property creditSpecification: The performance mode of the burstable instance. |
DedicatedHostId |
object |
Property dedicatedHostId: The ID of the dedicated host on which you want to create an ECS instance. |
DeploymentSetId |
object |
Property deploymentSetId: Deployment set ID. |
DiskMappings |
object |
Property diskMappings: Disk mappings to attach to instance. |
HostName |
object |
Property hostName: The hostname of the ECS instance. |
HpcClusterId |
object |
Property hpcClusterId: The HPC cluster ID to which the instance belongs. |
ImageFamily |
object |
Property imageFamily: The name of the image family. |
ImageId |
object |
Property imageId: Image ID to create ecs instance . |
ImageName |
object |
Property imageName: The name of the image. |
ImageOptionsLoginAsNonRoot |
object |
Property imageOptionsLoginAsNonRoot: Whether the ecs instance is logged in as ecs-user.Valid values: - true - false Default value: false. |
InstanceDescription |
object |
Property instanceDescription: The description of the ECS instance. |
InstanceId |
object |
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 |
object |
Property instanceName: The name of the instance launched from the current scaling configuration. |
InstancePatternInfos |
object |
Property instancePatternInfos: Details of the intelligent configuration settings that determine the range of instance types that meet the specified criteria. |
InstanceType |
object |
Property instanceType: ecs supported instance type. |
InstanceTypeOverrides |
object |
Property instanceTypeOverrides: The instance types. |
InstanceTypes |
object |
Property instanceTypes: ecs supported instance types. |
InternetChargeType |
object |
Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. |
InternetMaxBandwidthIn |
object |
Property internetMaxBandwidthIn: Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). |
InternetMaxBandwidthOut |
object |
Property internetMaxBandwidthOut: Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). |
IoOptimized |
object |
Property ioOptimized: The 'optimized' instance can provide better IO performance. |
Ipv6AddressCount |
object |
Property ipv6AddressCount: The number of randomly generated IPv6 addresses to be assigned to the elastic network interface (ENI). |
KeyPairName |
object |
Property keyPairName: SSH key pair name. |
LoadBalancerWeight |
object |
Property loadBalancerWeight: The weight of the ECS instance as a backend server. |
Memory |
object |
Property memory: The memory size. |
Password |
object |
Property password: Password of created ecs instance. |
PasswordInherit |
object |
Property passwordInherit: Whether to use the password pre-configured in the image you select or not. |
PrivatePoolOptions |
object |
Property privatePoolOptions: Option settings for private pools. |
RamRoleName |
object |
Property ramRoleName: Instance RAM role name. |
ResourceGroupId |
object |
Property resourceGroupId: Resource group id. |
ScalingConfigurationName |
object |
Property scalingConfigurationName: Name of created scaling configuration. |
SecurityEnhancementStrategy |
object |
Property securityEnhancementStrategy: Specifies whether to enable security hardening. |
SecurityGroupId |
object |
Property securityGroupId: Security Group to create ecs instance. |
SecurityGroupIds |
object |
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 |
object |
Property spotDuration: The retention period of the preemptible instance. |
SpotInterruptionBehavior |
object |
Property spotInterruptionBehavior: The interruption mode of the preemptible instance. |
SpotPriceLimit |
object |
Property spotPriceLimit: Set the hourly maximum price for the instance. |
SpotPriceLimitForInstanceType |
object |
Property spotPriceLimitForInstanceType: Set the hourly maximum price for the instance of specified instance type. |
SpotStrategy |
object |
Property spotStrategy: Preemption strategy for post-paid instances. |
SystemDiskAutoSnapshotPolicyId |
object |
Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID. |
SystemDiskBurstingEnabled |
object |
Property systemDiskBurstingEnabled: Specifies whether to enable the burst feature for the system disk. |
SystemDiskCategories |
object |
Property systemDiskCategories: The categories of the system disks. |
SystemDiskCategory |
object |
Property systemDiskCategory: Category of system disk. |
SystemDiskDescription |
object |
Property systemDiskDescription: The description of the system disk. |
SystemDiskDiskName |
object |
Property systemDiskDiskName: The name of the system disk. |
SystemDiskEncryptAlgorithm |
object |
Property systemDiskEncryptAlgorithm: The encryption algorithm that you want to use to encrypt the system disk. |
SystemDiskEncrypted |
object |
Property systemDiskEncrypted: Specifies whether to encrypt the system disk. |
SystemDiskKmsKeyId |
object |
Property systemDiskKmsKeyId: The ID of the KMS key that you want to use to encrypt the system disk. |
SystemDiskPerformanceLevel |
object |
Property systemDiskPerformanceLevel: The performance level of an ESSD. |
SystemDiskProvisionedIops |
object |
Property systemDiskProvisionedIops: The IOPS metric that is preconfigured for the system disk. |
SystemDiskSize |
object |
Property systemDiskSize: Size of system disk. |
TagList |
object |
Property tagList: The tags of an instance in list format. |
Tenancy |
object |
Property tenancy: Specifies whether to create an ECS instance on a dedicated host. |
UserData |
object |
Property userData: User data to pass to instance. |
ZoneId |
object |
Property zoneId: The zone ID of the ECS instance. |
ScalingGroupIdRequired
public object ScalingGroupId { get; set; }
- Type: object
Property scalingGroupId: Scaling group id to create the scaling configuration.
AffinityOptional
public object Affinity { get; set; }
- Type: object
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
public object Cpu { get; set; }
- Type: object
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
public object CreditSpecification { get; set; }
- Type: object
Property creditSpecification: The performance mode of the burstable instance.
Valid values: Standard: the standard mode. Unlimited: the unlimited mode.
DedicatedHostIdOptional
public object DedicatedHostId { get; set; }
- Type: object
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
public object DeploymentSetId { get; set; }
- Type: object
Property deploymentSetId: Deployment set ID.
DiskMappingsOptional
public object DiskMappings { get; set; }
- Type: object
Property diskMappings: Disk mappings to attach to instance.
HostNameOptional
public object HostName { get; set; }
- Type: object
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
public object HpcClusterId { get; set; }
- Type: object
Property hpcClusterId: The HPC cluster ID to which the instance belongs.
ImageFamilyOptional
public object ImageFamily { get; set; }
- Type: object
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
public object ImageId { get; set; }
- Type: object
Property imageId: Image ID to create ecs instance .
ImageNameOptional
public object ImageName { get; set; }
- Type: object
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
public object ImageOptionsLoginAsNonRoot { get; set; }
- Type: object
Property imageOptionsLoginAsNonRoot: Whether the ecs instance is logged in as ecs-user.Valid values: - true - false Default value: false.
InstanceDescriptionOptional
public object InstanceDescription { get; set; }
- Type: object
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
public object InstanceId { get; set; }
- Type: object
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
public object InstanceName { get; set; }
- Type: object
Property instanceName: The name of the instance launched from the current scaling configuration.
InstancePatternInfosOptional
public object InstancePatternInfos { get; set; }
- Type: object
Property instancePatternInfos: Details of the intelligent configuration settings that determine the range of instance types that meet the specified criteria.
InstanceTypeOptional
public object InstanceType { get; set; }
- Type: object
Property instanceType: ecs supported instance type.
InstanceTypeOverridesOptional
public object InstanceTypeOverrides { get; set; }
- Type: object
Property instanceTypeOverrides: The instance types.
InstanceTypesOptional
public object InstanceTypes { get; set; }
- Type: object
Property instanceTypes: ecs supported instance types.
Length [1,10]. If InstanceTypes is specified,the InstanceType will be ignored.
InternetChargeTypeOptional
public object InternetChargeType { get; set; }
- Type: object
Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only.
InternetMaxBandwidthInOptional
public object InternetMaxBandwidthIn { get; set; }
- Type: object
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
public object InternetMaxBandwidthOut { get; set; }
- Type: object
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
public object IoOptimized { get; set; }
- Type: object
Property ioOptimized: The 'optimized' instance can provide better IO performance.
Support 'none' and 'optimized' only, default is 'none'.
Ipv6AddressCountOptional
public object Ipv6AddressCount { get; set; }
- Type: object
Property ipv6AddressCount: The number of randomly generated IPv6 addresses to be assigned to the elastic network interface (ENI).
KeyPairNameOptional
public object KeyPairName { get; set; }
- Type: object
Property keyPairName: SSH key pair name.
LoadBalancerWeightOptional
public object LoadBalancerWeight { get; set; }
- Type: object
Property loadBalancerWeight: The weight of the ECS instance as a backend server.
Valid values: 1 to 100. Default value: 50.
MemoryOptional
public object Memory { get; set; }
- Type: object
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
public object Password { get; set; }
- Type: object
Property password: Password of created ecs instance.
Must contain at least 3 types of special character, lower character, upper character, number.
PasswordInheritOptional
public object PasswordInherit { get; set; }
- Type: object
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
public object PrivatePoolOptions { get; set; }
- Type: object
Property privatePoolOptions: Option settings for private pools.
RamRoleNameOptional
public object RamRoleName { get; set; }
- Type: object
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
public object ResourceGroupId { get; set; }
- Type: object
Property resourceGroupId: Resource group id.
ScalingConfigurationNameOptional
public object ScalingConfigurationName { get; set; }
- Type: object
Property scalingConfigurationName: Name of created scaling configuration.
SecurityEnhancementStrategyOptional
public object SecurityEnhancementStrategy { get; set; }
- Type: object
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
public object SecurityGroupId { get; set; }
- Type: object
Property securityGroupId: Security Group to create ecs instance.
SecurityGroupIdsOptional
public object SecurityGroupIds { get; set; }
- Type: object
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
public object SpotDuration { get; set; }
- Type: object
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
public object SpotInterruptionBehavior { get; set; }
- Type: object
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
public object SpotPriceLimit { get; set; }
- Type: object
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
public object SpotPriceLimitForInstanceType { get; set; }
- Type: object
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
public object SpotStrategy { get; set; }
- Type: object
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
public object SystemDiskAutoSnapshotPolicyId { get; set; }
- Type: object
Property systemDiskAutoSnapshotPolicyId: Auto snapshot policy ID.
SystemDiskBurstingEnabledOptional
public object SystemDiskBurstingEnabled { get; set; }
- Type: object
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
public object SystemDiskCategories { get; set; }
- Type: object
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
public object SystemDiskCategory { get; set; }
- Type: object
Property systemDiskCategory: Category of system disk.
Default is cloud.support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd|cloud_auto
SystemDiskDescriptionOptional
public object SystemDiskDescription { get; set; }
- Type: object
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
public object SystemDiskDiskName { get; set; }
- Type: object
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
public object SystemDiskEncryptAlgorithm { get; set; }
- Type: object
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
public object SystemDiskEncrypted { get; set; }
- Type: object
Property systemDiskEncrypted: Specifies whether to encrypt the system disk.
Valid values:
- true
- false Default value: false
SystemDiskKmsKeyIdOptional
public object SystemDiskKmsKeyId { get; set; }
- Type: object
Property systemDiskKmsKeyId: The ID of the KMS key that you want to use to encrypt the system disk.
SystemDiskPerformanceLevelOptional
public object SystemDiskPerformanceLevel { get; set; }
- Type: object
Property systemDiskPerformanceLevel: The performance level of an ESSD.
SystemDiskProvisionedIopsOptional
public object SystemDiskProvisionedIops { get; set; }
- Type: object
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
public object SystemDiskSize { get; set; }
- Type: object
Property systemDiskSize: Size of system disk.
Unit is GB.
TagListOptional
public object TagList { get; set; }
- Type: object
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:"
TenancyOptional
public object Tenancy { get; set; }
- Type: object
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
public object UserData { get; set; }
- Type: object
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
public object ZoneId { get; set; }
- Type: object
Property zoneId: The zone ID of the ECS instance.