import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Defines the instance configuration in the scaling group, including compute, memory, network, storage, and security. When the scaling group expands, new instances are created based on this configuration source. * * ## Import * * ```sh * $ pulumi import volcenginecc:autoscaling/scalingConfiguration:ScalingConfiguration example "scaling_configuration_id" * ``` */ export declare class ScalingConfiguration extends pulumi.CustomResource { /** * Get an existing ScalingConfiguration resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ScalingConfigurationState, opts?: pulumi.CustomResourceOptions): ScalingConfiguration; /** * Returns true if the given object is an instance of ScalingConfiguration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ScalingConfiguration; /** * Resource creation time (UTC) */ readonly createdAt: pulumi.Output; /** * Public IP. */ readonly eip: pulumi.Output; /** * Instance hostname. Value: Linux instances allow periods to separate segments; each segment can contain letters, digits, or hyphens '-'. Cannot start or end with a period '.' or hyphen '-', and periods or hyphens cannot be used consecutively. Linux hostnames must be 2–63 characters long. Windows instances allow letters, digits, or hyphens '-', but cannot be entirely numeric. Cannot start or end with a hyphen '-', and hyphens cannot be used consecutively. Windows hostnames must be 2–15 characters long. If not specified, the hostname is automatically generated as follows: Structure: iv - + initial hostname, for example iv-3tigy72q3u3vj0******. Created instances retain the original hostname generation logic and do not change upon instance restart. Initial hostname generation logic: Linux: extracts all characters after instance ID 'i-'. Windows: extracts the last 12 characters after instance ID 'i-' */ readonly hostName: pulumi.Output; /** * ID of the high-performance computing cluster to which the instance belongs. Only valid when InstanceTypes.N is specified as 'High-Performance Computing GPU'. */ readonly hpcClusterId: pulumi.Output; /** * Image ID. The image resource used when the scaling group automatically creates an instance */ readonly imageId: pulumi.Output; /** * Instance billing type. Values: PrePaid (subscription) / PostPaid (pay-as-you-go) */ readonly instanceChargeType: pulumi.Output; /** * Instance description. Value: Cannot start with a digit or hyphen. Only Chinese characters, letters, digits, underscores, and hyphens are allowed. Length must be between 0 and 255 characters. If not specified, defaults to an empty string */ readonly instanceDescription: pulumi.Output; /** * Instance name. Rules: Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscore "_", hyphen "-", and period ".". Length: 1–128 characters. */ readonly instanceName: pulumi.Output; readonly instanceTypeOverrides: pulumi.Output; /** * List of compute specifications for the instance */ readonly instanceTypes: pulumi.Output; /** * Assign an IPv6 address to the instance NIC. Values: 0: Do not assign an IPv6 address. 1: Assign an IPv6 address; the system automatically allocates an IPv6 subnet for you. */ readonly ipv6AddressCount: pulumi.Output; /** * Name of the key pair. If both KeyPairName and Password are set, only KeyPairName takes effect */ readonly keyPairName: pulumi.Output; /** * Lifecycle status. Values: Active (active) / InActive (inactive) */ readonly lifecycleState: pulumi.Output; /** * When logging in to the instance using the 'Password' method, set the root login password: The password must be 8–30 characters long and consist of uppercase letters, lowercase letters, numbers, and special characters. At least three types must be included. Allowed special characters: `~!#$%^&*()_-+= |. The password cannot start with '/' or '$6$' */ readonly password: pulumi.Output; /** * The project to which the instance created by the scaling configuration belongs. Default is empty. Each resource can belong to only one project. * Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. * Maximum length: 64 characters */ readonly projectName: pulumi.Output; /** * Scaling configuration ID */ readonly scalingConfigurationId: pulumi.Output; /** * Name of the scaling configuration. The name must be unique within the same scaling group in the same region. Rules: Must start with a Chinese character or letter. Can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length: 1–128 characters. Special characters are not supported. */ readonly scalingConfigurationName: pulumi.Output; /** * Scaling group ID to which the scaling configuration belongs */ readonly scalingGroupId: pulumi.Output; /** * Enable security hardening. Options: Active: Enable security hardening, applies only to public images. InActive: Disable security hardening, applies to all images. */ readonly securityEnhancementStrategy: pulumi.Output; /** * Security group ID associated with the instance's primary network interface */ readonly securityGroupIds: pulumi.Output; /** * Instance preemption policy. Values: NoSpot (default): creates a standard pay-as-you-go instance. SpotAsPriceGo: system automatically bids, creating a preemptible instance that follows the current market price. SpotWithPriceLimit: creates a preemptible instance with a specified bid limit */ readonly spotStrategy: pulumi.Output; readonly tags: pulumi.Output; /** * Resource update time (UTC) */ readonly updatedAt: pulumi.Output; /** * Instance custom data. Custom data must be Base64 encoded, and the size before encoding must not exceed 16 KB. If not specified, defaults to empty */ readonly userData: pulumi.Output; readonly volumes: pulumi.Output; /** * Availability zone ID for the scaling configuration */ readonly zoneId: pulumi.Output; /** * Create a ScalingConfiguration resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: ScalingConfigurationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ScalingConfiguration resources. */ export interface ScalingConfigurationState { /** * Resource creation time (UTC) */ createdAt?: pulumi.Input; /** * Public IP. */ eip?: pulumi.Input; /** * Instance hostname. Value: Linux instances allow periods to separate segments; each segment can contain letters, digits, or hyphens '-'. Cannot start or end with a period '.' or hyphen '-', and periods or hyphens cannot be used consecutively. Linux hostnames must be 2–63 characters long. Windows instances allow letters, digits, or hyphens '-', but cannot be entirely numeric. Cannot start or end with a hyphen '-', and hyphens cannot be used consecutively. Windows hostnames must be 2–15 characters long. If not specified, the hostname is automatically generated as follows: Structure: iv - + initial hostname, for example iv-3tigy72q3u3vj0******. Created instances retain the original hostname generation logic and do not change upon instance restart. Initial hostname generation logic: Linux: extracts all characters after instance ID 'i-'. Windows: extracts the last 12 characters after instance ID 'i-' */ hostName?: pulumi.Input; /** * ID of the high-performance computing cluster to which the instance belongs. Only valid when InstanceTypes.N is specified as 'High-Performance Computing GPU'. */ hpcClusterId?: pulumi.Input; /** * Image ID. The image resource used when the scaling group automatically creates an instance */ imageId?: pulumi.Input; /** * Instance billing type. Values: PrePaid (subscription) / PostPaid (pay-as-you-go) */ instanceChargeType?: pulumi.Input; /** * Instance description. Value: Cannot start with a digit or hyphen. Only Chinese characters, letters, digits, underscores, and hyphens are allowed. Length must be between 0 and 255 characters. If not specified, defaults to an empty string */ instanceDescription?: pulumi.Input; /** * Instance name. Rules: Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscore "_", hyphen "-", and period ".". Length: 1–128 characters. */ instanceName?: pulumi.Input; instanceTypeOverrides?: pulumi.Input[]>; /** * List of compute specifications for the instance */ instanceTypes?: pulumi.Input[]>; /** * Assign an IPv6 address to the instance NIC. Values: 0: Do not assign an IPv6 address. 1: Assign an IPv6 address; the system automatically allocates an IPv6 subnet for you. */ ipv6AddressCount?: pulumi.Input; /** * Name of the key pair. If both KeyPairName and Password are set, only KeyPairName takes effect */ keyPairName?: pulumi.Input; /** * Lifecycle status. Values: Active (active) / InActive (inactive) */ lifecycleState?: pulumi.Input; /** * When logging in to the instance using the 'Password' method, set the root login password: The password must be 8–30 characters long and consist of uppercase letters, lowercase letters, numbers, and special characters. At least three types must be included. Allowed special characters: `~!#$%^&*()_-+= |. The password cannot start with '/' or '$6$' */ password?: pulumi.Input; /** * The project to which the instance created by the scaling configuration belongs. Default is empty. Each resource can belong to only one project. * Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. * Maximum length: 64 characters */ projectName?: pulumi.Input; /** * Scaling configuration ID */ scalingConfigurationId?: pulumi.Input; /** * Name of the scaling configuration. The name must be unique within the same scaling group in the same region. Rules: Must start with a Chinese character or letter. Can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length: 1–128 characters. Special characters are not supported. */ scalingConfigurationName?: pulumi.Input; /** * Scaling group ID to which the scaling configuration belongs */ scalingGroupId?: pulumi.Input; /** * Enable security hardening. Options: Active: Enable security hardening, applies only to public images. InActive: Disable security hardening, applies to all images. */ securityEnhancementStrategy?: pulumi.Input; /** * Security group ID associated with the instance's primary network interface */ securityGroupIds?: pulumi.Input[]>; /** * Instance preemption policy. Values: NoSpot (default): creates a standard pay-as-you-go instance. SpotAsPriceGo: system automatically bids, creating a preemptible instance that follows the current market price. SpotWithPriceLimit: creates a preemptible instance with a specified bid limit */ spotStrategy?: pulumi.Input; tags?: pulumi.Input[]>; /** * Resource update time (UTC) */ updatedAt?: pulumi.Input; /** * Instance custom data. Custom data must be Base64 encoded, and the size before encoding must not exceed 16 KB. If not specified, defaults to empty */ userData?: pulumi.Input; volumes?: pulumi.Input[]>; /** * Availability zone ID for the scaling configuration */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a ScalingConfiguration resource. */ export interface ScalingConfigurationArgs { /** * Public IP. */ eip?: pulumi.Input; /** * Instance hostname. Value: Linux instances allow periods to separate segments; each segment can contain letters, digits, or hyphens '-'. Cannot start or end with a period '.' or hyphen '-', and periods or hyphens cannot be used consecutively. Linux hostnames must be 2–63 characters long. Windows instances allow letters, digits, or hyphens '-', but cannot be entirely numeric. Cannot start or end with a hyphen '-', and hyphens cannot be used consecutively. Windows hostnames must be 2–15 characters long. If not specified, the hostname is automatically generated as follows: Structure: iv - + initial hostname, for example iv-3tigy72q3u3vj0******. Created instances retain the original hostname generation logic and do not change upon instance restart. Initial hostname generation logic: Linux: extracts all characters after instance ID 'i-'. Windows: extracts the last 12 characters after instance ID 'i-' */ hostName?: pulumi.Input; /** * ID of the high-performance computing cluster to which the instance belongs. Only valid when InstanceTypes.N is specified as 'High-Performance Computing GPU'. */ hpcClusterId?: pulumi.Input; /** * Image ID. The image resource used when the scaling group automatically creates an instance */ imageId?: pulumi.Input; /** * Instance description. Value: Cannot start with a digit or hyphen. Only Chinese characters, letters, digits, underscores, and hyphens are allowed. Length must be between 0 and 255 characters. If not specified, defaults to an empty string */ instanceDescription?: pulumi.Input; /** * Instance name. Rules: Must start with a letter or Chinese character. Can only contain Chinese characters, letters, numbers, underscore "_", hyphen "-", and period ".". Length: 1–128 characters. */ instanceName?: pulumi.Input; instanceTypeOverrides?: pulumi.Input[]>; /** * Assign an IPv6 address to the instance NIC. Values: 0: Do not assign an IPv6 address. 1: Assign an IPv6 address; the system automatically allocates an IPv6 subnet for you. */ ipv6AddressCount?: pulumi.Input; /** * Name of the key pair. If both KeyPairName and Password are set, only KeyPairName takes effect */ keyPairName?: pulumi.Input; /** * Lifecycle status. Values: Active (active) / InActive (inactive) */ lifecycleState?: pulumi.Input; /** * When logging in to the instance using the 'Password' method, set the root login password: The password must be 8–30 characters long and consist of uppercase letters, lowercase letters, numbers, and special characters. At least three types must be included. Allowed special characters: `~!#$%^&*()_-+= |. The password cannot start with '/' or '$6$' */ password?: pulumi.Input; /** * The project to which the instance created by the scaling configuration belongs. Default is empty. Each resource can belong to only one project. * Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. * Maximum length: 64 characters */ projectName?: pulumi.Input; /** * Name of the scaling configuration. The name must be unique within the same scaling group in the same region. Rules: Must start with a Chinese character or letter. Can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length: 1–128 characters. Special characters are not supported. */ scalingConfigurationName?: pulumi.Input; /** * Scaling group ID to which the scaling configuration belongs */ scalingGroupId?: pulumi.Input; /** * Enable security hardening. Options: Active: Enable security hardening, applies only to public images. InActive: Disable security hardening, applies to all images. */ securityEnhancementStrategy?: pulumi.Input; /** * Security group ID associated with the instance's primary network interface */ securityGroupIds?: pulumi.Input[]>; /** * Instance preemption policy. Values: NoSpot (default): creates a standard pay-as-you-go instance. SpotAsPriceGo: system automatically bids, creating a preemptible instance that follows the current market price. SpotWithPriceLimit: creates a preemptible instance with a specified bid limit */ spotStrategy?: pulumi.Input; tags?: pulumi.Input[]>; /** * Instance custom data. Custom data must be Base64 encoded, and the size before encoding must not exceed 16 KB. If not specified, defaults to empty */ userData?: pulumi.Input; volumes?: pulumi.Input[]>; /** * Availability zone ID for the scaling configuration */ zoneId?: pulumi.Input; }