import * as $dara from '@darabonba/typescript';
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationArn extends $dara.Model {
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 123456789012****
     */
    assumeRoleFor?: number;
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 34458433936495****:alice
     */
    roleType?: string;
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * acs:ram::123456789012****:role/adminrole
     */
    rolearn?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationDataDisk extends $dara.Model {
    /**
     * @remarks
     * The ID of the automatic snapshot policy to apply to data disk N.
     *
     * When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the AutoProvisioningGroupType parameter is set to instant.
     *
     * @example
     * sp-bp67acfmxazb4p****
     */
    autoSnapshotPolicyId?: string;
    /**
     * @remarks
     * Specifies whether to enable the performance burst feature for the system disk. Valid values:
     *
     * *   true: force attaches the disk to the instance.
     * *   false: disables the performance burst feature for the system disk.
     *
     * >  This parameter is available only if you set LaunchConfiguration.DataDisk.N.Category to cloud_auto. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html).
     *
     * @example
     * false
     */
    burstingEnabled?: boolean;
    /**
     * @remarks
     * The category of data disk N. Valid values of N: 1 to 16. Valid values:
     *
     * *   cloud_efficiency: utra disk.
     * *   cloud_ssd: standard SSD.
     * *   cloud_essd: ESSD.
     * *   cloud: basic disk.
     *
     * For I/O optimized instances, the default value is cloud_efficiency. For non-I/O optimized instances, the default value is cloud.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * cloud_ssd
     */
    category?: string;
    /**
     * @remarks
     * Specifies whether to release data disk N when the instance to which the data disk is attached is released. Valid values:
     *
     * *   true: releases data disk N when the associated instance is released.
     * *   false: does not release data disk N when the associated instance is released.
     *
     * Default value: true.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * true
     */
    deleteWithInstance?: boolean;
    /**
     * @remarks
     * The description of data disk N. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * DataDisk_Description
     */
    description?: string;
    /**
     * @remarks
     * The mount point of data disk N. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * /dev/vd1
     */
    device?: string;
    /**
     * @remarks
     * The name of data disk N. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-).
     *
     * This parameter is left empty by default.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * cloud_ssdData
     */
    diskName?: string;
    /**
     * @remarks
     * >  This parameter is not publicly available.
     *
     * @example
     * null
     */
    encryptAlgorithm?: string;
    /**
     * @remarks
     * Specifies whether to encrypt data disk N. Valid values:
     *
     * *   true: encrypts system disk N.
     * *   false: does not encrypt system disk N.
     *
     * Default value: false. Valid values:
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * false
     */
    encrypted?: boolean;
    /**
     * @remarks
     * The ID of the Key Management Service (KMS) key to use for data disk N. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 0e478b7a-4262-4802-b8cb-00d3fb40****
     */
    kmsKeyId?: string;
    /**
     * @remarks
     * The performance level of the Enterprise SSD (ESSD) to use as data disk N. The value of N in this parameter must be the same as the value of N in `LaunchConfiguration.DataDisk.N.Category`. Valid values:
     *
     * *   PL0: A single ESSD can deliver up to 10000 random read/write IOPS.
     * *   PL1 (default): A single ESSD can deliver up to 50000 random read/write IOPS.
     * *   PL2: A single ESSD can deliver up to 100000 random read/write IOPS.
     * *   PL3: A single ESSD can deliver up to 1000000 random read/write IOPS.
     *
     * For information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/document_detail/122389.html).
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * PL1
     */
    performanceLevel?: string;
    /**
     * @remarks
     * The provisioned read/write IOPS of the ESSD AutoPL disk to use as the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}.
     *
     * Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.
     *
     * >  This parameter is available only if you set LaunchConfiguration.DataDisk.N.Category to cloud_auto. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html).
     *
     * @example
     * 40000
     */
    provisionedIops?: number;
    /**
     * @remarks
     * The size of data disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values:
     *
     * *   Valid values if you set LaunchConfiguration.DataDisk.N.Category to cloud_efficiency: 20 to 32768.
     *
     * *   Valid values if you set LaunchConfiguration.DataDisk.N.Category to cloud_ssd: 20 to 32768.
     *
     * *   Valid values if you set LaunchConfiguration.DataDisk.N.Category to cloud_essd: vary based on the `LaunchConfiguration.DataDisk.N.PerformanceLevel` value.
     *
     *     *   Valid values if you set LaunchConfiguration.DataDisk.N.PerformanceLevel to PL0: 40 to 32768.
     *     *   Valid values if you set LaunchConfiguration.DataDisk.N.PerformanceLevel to PL1: 20 to 32768.
     *     *   Valid values if you set LaunchConfiguration.DataDisk.N.PerformanceLevel to PL2: 461 to 32768.
     *     *   Valid values if you set LaunchConfiguration.DataDisk.N.PerformanceLevel to PL3: 1261 to 32768.
     *
     * *   Valid values if you set LaunchConfiguration.DataDisk.N.Category to cloud: 5 to 2000.
     *
     * >  The value of this parameter must be greater than or equal to the size of the snapshot specified by `LaunchConfiguration.DataDisk.N.SnapshotId`.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 20
     */
    size?: number;
    /**
     * @remarks
     * The ID of the snapshot to use to create data disk N. Valid values of N: 1 to 16.
     *
     * If you specify this parameter, `LaunchConfiguration.DataDisk.N.Size` is ignored. The size of data disk N is the same as that of the snapshot specified by this parameter. Use snapshots created after July 15, 2013. Otherwise, an error is returned and your request is rejected.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * s-bp17441ohwka0yuh****
     */
    snapshotId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSystemDisk extends $dara.Model {
    /**
     * @remarks
     * The ID of the automatic snapshot policy to apply to the system disk.
     *
     * When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the AutoProvisioningGroupType parameter is set to instant.
     *
     * @example
     * sp-bp67acfmxazb4p****
     */
    autoSnapshotPolicyId?: string;
    /**
     * @remarks
     * Specifies whether to enable the performance burst feature for the system disk. Valid values:
     *
     * *   true: force attaches the disk to the instance.
     * *   false: disables the performance burst feature for the system disk.
     *
     * >  This parameter is available only if you set `LaunchConfiguration.SystemDisk.Category` to `cloud_auto`. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html).
     *
     * @example
     * false
     */
    burstingEnabled?: boolean;
    /**
     * @remarks
     * The algorithm to use to encrypt the system disk. Valid values:
     *
     * *   aes-256
     * *   sm4-128
     *
     * Default value: aes-256.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * >  This parameter is not publicly available.
     *
     * @example
     * aes-256
     */
    encryptAlgorithm?: string;
    /**
     * @remarks
     * Specifies whether to encrypt the system disk. Valid values:
     *
     * *   true: encrypts system disk N.
     * *   false: does not encrypt system disk N.
     *
     * Default value: false. Valid values:
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * false
     */
    encrypted?: string;
    /**
     * @remarks
     * The ID of the KMS key to use for system disk N.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 0e478b7a-4262-4802-b8cb-00d3fb40****
     */
    KMSKeyId?: string;
    /**
     * @remarks
     * The provisioned read/write IOPS of the ESSD AutoPL disk to use as the system disk. Valid values: 0 to min{50,000, 1,000 × Capacity - Baseline IOPS}.
     *
     * Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}.
     *
     * >  This parameter is available only if you set LaunchConfiguration.SystemDisk.Category to cloud_auto. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html).
     *
     * @example
     * 40000
     */
    provisionedIops?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationTag extends $dara.Model {
    /**
     * @remarks
     * The key of the tag. Valid values of N: 1 to 20. The tag key cannot be an empty string. It can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain `http://` or `https://`. If both the LaunchTemplateId and LaunchConfiguration.* parameters are specified, the LaunchTemplateId parameter takes precedence.
     *
     * @example
     * TestKey
     */
    key?: string;
    /**
     * @remarks
     * The value of the tag. Valid values of N: 1 to 20. The tag value can be an empty string. It can be up to 128 characters in length. It cannot start with acs: or contain `http://` or `https://`. If both the LaunchTemplateId and LaunchConfiguration.* parameters are specified, the LaunchTemplateId parameter takes precedence.
     *
     * @example
     * TestValue
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationCpuOptions extends $dara.Model {
    core?: number;
    threadsPerCore?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationImageOptions extends $dara.Model {
    /**
     * @remarks
     * Specifies whether the instance that uses the image supports logons of the ecs-user user. Valid value:
     *
     * *   true: The instance that uses the image supports logons of the ecs-user user.
     * *   false: The instance that uses the image does not support logons of the ecs-user user.
     *
     * @example
     * false
     */
    loginAsNonRoot?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSchedulerOptions extends $dara.Model {
    dedicatedHostClusterId?: string;
    dedicatedHostId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSecurityOptions extends $dara.Model {
    trustedSystemMode?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchConfiguration extends $dara.Model {
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     */
    arn?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationArn[];
    /**
     * @remarks
     * The automatic release time of the pay-as-you-go instance. Specify the time in the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in Coordinated Universal Time (UTC).
     *
     * *   If the value of `ss` is not `00`, the start time is automatically rounded down to the nearest minute based on the value of `mm`.
     * *   The specified time must be at least 30 minutes later than the current time.
     * *   The specified time can be at most three years later than the current time.
     *
     * @example
     * 2018-01-01T12:05:00Z
     */
    autoReleaseTime?: string;
    /**
     * @remarks
     * The performance mode of the burstable instance. Valid values:
     *
     * *   Standard: the standard mode. For more information, see the "Standard mode" section in the [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html) topic.
     * *   Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section in the [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html) topic.
     *
     * This parameter is empty by default.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * Standard
     */
    creditSpecification?: string;
    /**
     * @remarks
     * The cloud disks in the extended configurations of the launch template.
     */
    dataDisk?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationDataDisk[];
    /**
     * @remarks
     * The ID of the deployment set.
     *
     * @example
     * ds-bp1frxuzdg87zh4p****
     */
    deploymentSetId?: string;
    /**
     * @remarks
     * The instance hostname. Take note of the following items:
     *
     * *   The hostname cannot start or end with a period (.) or hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-).
     * *   For Windows instances, the hostname must be 2 to 15 characters in length and cannot contain periods (.) or contain only digits. It can contain letters, digits, and hyphens (-).
     * *   For instances that run other operating systems such as Linux, 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 (-).
     * *   You cannot specify both `LaunchConfiguration.HostName` and `LaunchConfiguration.HostNames.N`. Otherwise, an error is returned.
     * *   When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * k8s-node-[1,4]-ecshost
     */
    hostName?: string;
    /**
     * @remarks
     * The hostname of instance N. You can use this parameter to specify different hostnames for multiple instances. Take note of the following items:
     *
     * - This parameter takes effect only when `AutoProvisioningGroupType` is set to instant.
     * - The value of N indicates the number of instances. Valid values of N: 1 to 1000. The value of N must be the same as the TotalTargetCapacity value.
     * - The hostname cannot start or end with a period (.) or hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-).
     * - For Windows instances, the hostname must be 2 to 15 characters in length and cannot contain periods (.) or contain only digits. The hostname can contain letters, digits, and hyphens (-).
     * - For instances that run other operating systems such as Linux, the hostname must be 2 to 64 characters in length. You can use periods (.) to separate the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).
     * - You cannot specify both `LaunchConfiguration.HostName` and `LaunchConfiguration.HostNames.N`. Otherwise, an error is returned.
     * - When both LaunchTemplateId and LaunchConfiguration.* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * ecs-host-01
     */
    hostNames?: string[];
    /**
     * @remarks
     * The name of the image family. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `aliyun` or `acs:`. The name cannot contain `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).
     *
     * @example
     * hangzhou-daily-update
     */
    imageFamily?: string;
    /**
     * @remarks
     * The ID of the image to be used to create the instance. You can call the [DescribeImages](https://help.aliyun.com/document_detail/25534.html) operation to query available image resources. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * m-bp1g7004ksh0oeuc****
     */
    imageId?: string;
    /**
     * @remarks
     * The instance description. The description must be 2 to 256 characters in length. The description can contain letters and cannot start with `http://` or `https://`. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * Instance_Description
     */
    instanceDescription?: string;
    /**
     * @remarks
     * The instance name. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-).
     *
     * The default value of this parameter is the `InstanceId` value.
     *
     * When you batch create instances, you can batch configure sequential names for the instances. For more information, see [Batch configure sequential names or hostnames for multiple instances](https://help.aliyun.com/document_detail/196048.html).
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * k8s-node-[1,4]-alibabacloud
     */
    instanceName?: string;
    /**
     * @remarks
     * The billing method for network usage. Valid values:
     *
     * *   PayByBandwidth: pay-by-bandwidth
     * *   PayByTraffic: pay-by-traffic
     *
     * >  When the pay-by-traffic billing method for network usage is used, the maximum inbound and outbound bandwidth values are used as the upper limits of bandwidth instead of guaranteed performance specifications. When demands outstrip resource supplies, the maximum bandwidths may be limited. If you want guaranteed bandwidth for your instance, use the pay-by-bandwidth billing method.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * PayByTraffic
     */
    internetChargeType?: string;
    /**
     * @remarks
     * The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:
     *
     * *   When the maximum outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10 and the default value is 10.
     * *   When the maximum outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the value of `LaunchConfiguration.InternetMaxBandwidthOut`, and the default value is the value of `LaunchConfiguration.InternetMaxBandwidthOut`.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 10
     */
    internetMaxBandwidthIn?: number;
    /**
     * @remarks
     * The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.
     *
     * Default value: 0.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 10
     */
    internetMaxBandwidthOut?: number;
    /**
     * @remarks
     * Specifies whether the instance is I/O optimized. Valid values:
     *
     * *   none: The instance is not I/O optimized.
     * *   optimized: The instance is I/O optimized.
     *
     * For instances of retired instance types, the default value is none. For instances of other instance types, the default value is optimized.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * optimized
     */
    ioOptimized?: string;
    /**
     * @remarks
     * The key pair name.
     *
     * *   For Windows instances, this parameter is ignored. This parameter is empty by default.
     * *   By default, password-based logon is disabled for Linux instances.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * KeyPair_Name
     */
    keyPairName?: string;
    /**
     * @remarks
     * The instance password. The password must be 8 to 30 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The password can contain the following special characters:
     *
     * ``( ) ` ~ ! @ # $ % ^ & * - _ + = | { }  ``: ; \\" < > , . ? /``  For Windows instances, the password cannot start with a forward slash (/). When both LaunchTemplateId and LaunchConfiguration.* parameters are specified, LaunchTemplateId takes precedence. `
     *
     * @example
     * EcsV587!
     */
    password?: string;
    /**
     * @remarks
     * Specifies whether to use the password preset in the image. Valid values:
     *
     * *   true: uses the password preset in the image.
     * *   false: does not use the password preset in the image.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * true
     */
    passwordInherit?: boolean;
    /**
     * @remarks
     * The name of the instance Resource Access Management (RAM) role. You can call the [ListRoles](https://help.aliyun.com/document_detail/28713.html) operation provided by RAM to query the instance RAM roles that you created. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * RAM_Name
     */
    ramRoleName?: string;
    /**
     * @remarks
     * The ID of the resource group to which to assign the instance. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * rg-bp67acfmxazb4p****
     */
    resourceGroupId?: string;
    /**
     * @remarks
     * 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.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * Active
     */
    securityEnhancementStrategy?: string;
    /**
     * @remarks
     * The ID of the security group to which to assign the instance. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * sg-bp15ed6xe1yxeycg****
     */
    securityGroupId?: string;
    /**
     * @remarks
     * The IDs of the security groups to which the new ECS instances belong.
     */
    securityGroupIds?: string[];
    /**
     * @remarks
     * The system disk information of instances. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     */
    systemDisk?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSystemDisk;
    /**
     * @remarks
     * The category of the system disk. Valid values:
     *
     * *   cloud_efficiency: ultra disk
     * *   cloud_ssd: standard SSD
     * *   cloud_essd: enhanced SSD (ESSD)
     * *   cloud: basic disk
     *
     * For non-I/O optimized instances of retired instance types, the default value is cloud. For other instances, the default value is cloud_efficiency.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * cloud_ssd
     */
    systemDiskCategory?: string;
    /**
     * @remarks
     * 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://`.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * SystemDisk_Description
     */
    systemDiskDescription?: string;
    /**
     * @remarks
     * The name of the system disk. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-).
     *
     * This parameter is empty by default.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * cloud_ssdSystem
     */
    systemDiskName?: string;
    /**
     * @remarks
     * The performance level of the ESSD to be used as the system disk. Valid values:
     *
     * *   PL0 (default): A single ESSD can deliver up to 10,000 random read/write IOPS.
     * *   PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.
     * *   PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.
     * *   PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
     *
     * For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/document_detail/122389.html).
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * PL0
     */
    systemDiskPerformanceLevel?: string;
    /**
     * @remarks
     * The size of the system disk. Valid values: 20 to 500. Unit: GiB. The value must be at least 20 and greater than or equal to the size of the image specified by LaunchConfiguration.ImageId.
     *
     * Default value: 40 or the size of the image specified by LaunchConfiguration.ImageId, whichever is greater.
     *
     * When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * 40
     */
    systemDiskSize?: number;
    /**
     * @remarks
     * The tag in the extended configurations of the launch template.
     */
    tag?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationTag[];
    /**
     * @remarks
     * The instance user data. The user data must be encoded in Base64. The raw data can be up to 32 KB in size. When both LaunchTemplateId and LaunchConfiguration.\\* parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * ZWNobyBoZWxsbyBlY3Mh
     */
    userData?: string;
    /**
     * @remarks
     * Specifies whether to enable auto-renewal for the reserved instance. This parameter is required only when the instance uses the subscription billing method. Valid values:
     *
     * *   true
     * *   false (default)
     *
     * @example
     * true
     */
    autoRenew?: boolean;
    /**
     * @remarks
     * The auto-renewal period of the instance. Valid values:
     *
     * Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, 12, 24, 36, 48, and 60.
     *
     * Default value: 1.
     *
     * @example
     * 1
     */
    autoRenewPeriod?: number;
    cpuOptions?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationCpuOptions;
    /**
     * @remarks
     * The image options.
     *
     * When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the AutoProvisioningGroupType parameter is set to instant.
     */
    imageOptions?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationImageOptions;
    /**
     * @remarks
     * The subscription period of the instance. The unit is specified by `PeriodUnit`. This parameter takes effect and is required only if the subscription billing method is selected. Valid values:
     *
     * Valid values if PeriodUnit is set to Month: 1, 2, 3, 6, and 12.
     *
     * @example
     * 1
     */
    period?: number;
    /**
     * @remarks
     * The unit of the subscription period. Default value: Month. Valid values:
     *
     * Month
     *
     * @example
     * Month
     */
    periodUnit?: string;
    schedulerOptions?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSchedulerOptions;
    securityOptions?: CreateAutoProvisioningGroupShrinkRequestLaunchConfigurationSecurityOptions;
    /**
     * @remarks
     * The protection period of the spot instance. Unit: hours. Default value: 1. Valid values: Valid values:
     *
     * *   1: After a spot instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 1-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.
     * *   0: After a spot instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain or release the instance.
     *
     * Alibaba Cloud sends an ECS system event to notify you 5 minutes before the instance is released. The spot instance is billed by second. We recommend that you specify an appropriate protection period based on your business requirements.
     *
     * When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the AutoProvisioningGroupType parameter is set to instant.
     *
     * @example
     * 1
     */
    spotDuration?: number;
    /**
     * @remarks
     * The interruption event of the spot instances. Valid values:
     *
     * *   Terminate: The instance is released.
     * *   Stop: The instance is stopped in economical mode.
     *
     * For information about the economical mode, see [Economical mode](https://help.aliyun.com/document_detail/63353.html).
     *
     * Default value: Terminate.
     *
     * When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the AutoProvisioningGroupType parameter is set to instant.
     *
     * @example
     * Terminate
     */
    spotInterruptionBehavior?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestDataDiskConfig extends $dara.Model {
    /**
     * @remarks
     * The category of data disk N. You can use this parameter to specify multiple disk categories, and the disk categories are prioritized in the order in which they are specified. If a specified disk category is unavailable, the system uses the next available disk category. Valid values:
     *
     * - cloud_efficiency: ultra disk
     * - cloud_ssd: standard SSD
     * - cloud_essd: ESSD
     * - cloud: basic disk
     *
     * @example
     * cloud_efficiency
     */
    diskCategory?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestLaunchTemplateConfig extends $dara.Model {
    /**
     * @remarks
     * The architectures of the instance types.
     */
    architectures?: string[];
    /**
     * @remarks
     * Specifies whether to include burstable instance types. Valid values:
     *
     * *   Exclude: excludes burstable instance types.
     * *   Include: includes burstable instance types.
     * *   Required: includes only burstable instance types.
     *
     * Default value: Include.
     *
     * @example
     * Include
     */
    burstablePerformance?: string;
    /**
     * @remarks
     * The numbers of vCPUs of instance types.
     */
    cores?: number[];
    /**
     * @remarks
     * The instance types that you want to exclude.
     */
    excludedInstanceTypes?: string[];
    /**
     * @remarks
     * The ID of the image. You can use this parameter to specify the image that is used by the current resource pool. If you do not specify this parameter, the image that is configured in `LaunchConfiguration.ImageId` or the launch template is used by default. You can call the [DescribeImages](https://help.aliyun.com/document_detail/25534.html) operation to query the available images. Note: This parameter is supported only when `AutoProvisioningGroupType` is set to instant.
     *
     * @example
     * aliyun_3_x64_20G_alibase_20210425.vhd
     */
    imageId?: string;
    /**
     * @remarks
     * The instance family level of the instance type in extended configuration N. This parameter is used to filter instance types. Valid values of Nextended configuration N, Valid values:
     *
     * *   EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](https://help.aliyun.com/document_detail/108489.html).
     * *   EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html).
     * *   CreditEntryLevel: credit entry level. This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For information about burstable instances, see [Overview](https://help.aliyun.com/document_detail/59977.html).
     *
     * Valid values of N: 1 to 10.
     *
     * @example
     * EnterpriseLevel
     */
    instanceFamilyLevel?: string;
    /**
     * @remarks
     * The instance type in extended configuration N. Valid values of N: 1 to 20. For information about the valid values of this parameter, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html).
     *
     * @example
     * ecs.g5.large
     */
    instanceType?: string;
    /**
     * @remarks
     * The maximum price of spot instances in extended configuration N.
     *
     * >  If you specify one or more `LaunchTemplateConfig.N.*` parameters, you must also specify `LaunchTemplateConfig.N.MaxPrice`.
     *
     * @example
     * 3
     */
    maxPrice?: number;
    /**
     * @remarks
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * false
     */
    maxQuantity?: number;
    /**
     * @remarks
     * The memory sizes of instance types.
     */
    memories?: number[];
    /**
     * @remarks
     * The priority of extended configuration N. A value of 0 indicates the highest priority. Valid values: 0 to ∞.
     *
     * @example
     * 1
     */
    priority?: number;
    /**
     * @remarks
     * The ID of the vSwitch in extended configuration N. The zone of the ECS instances created from the extended configuration is determined by the vSwitch.
     *
     * >  If you specify one or more `LaunchTemplateConfig.N.*` parameters, you must also specify `LaunchTemplateConfig.N.VSwitchId`.
     *
     * @example
     * vsw-sn5bsitu4lfzgc5o7****
     */
    vSwitchId?: string;
    /**
     * @remarks
     * The weight of the instance type in extended configuration N. A greater weight indicates that a single instance has more computing power and fewer instances are required. The value must be greater than 0.
     *
     * The weight is calculated based on the computing power of the specified instance type and the minimum computing power of a single instance in the cluster to be created by the auto provisioning group. For example, assume that the minimum computing power of a single instance is 8 vCPUs and 60 GiB of memory.
     *
     * *   For an instance type with 8 vCPUs and 60 GiB of memory, you can set the weight to 1.
     * *   For an instance type with 16 vCPUs and 120 GiB of memory, you can set the weight to 2.
     *
     * @example
     * 2
     */
    weightedCapacity?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestPrePaidOptionsSpecifyCapacityDistribution extends $dara.Model {
    /**
     * @remarks
     * Details about the instance types. Duplicate instance types are not allowed and the instance types are within the LaunchTemplateConfig.InstanceType range.
     */
    instanceTypes?: string[];
    /**
     * @remarks
     * The minimum number of instances to be delivered within the `InstanceTypes` range.
     *
     * >  `sum(MinTargetCapacity)<= TotalTargetCapacity` indicates that the sum of MinTargetCapacity values of all instance types cannot exceed the TotalTargetCapacity value. If any instance type set cannot meet the MinTargetCapacity requirement due to insufficient inventory or other reasons, the entire request fails.
     *
     * @example
     * 5
     */
    minTargetCapacity?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestPrePaidOptions extends $dara.Model {
    /**
     * @remarks
     * The minimum capacity set for different instance types. This parameter is valid only when `AutoProvisioningGroupType` is set to request.
     */
    specifyCapacityDistribution?: CreateAutoProvisioningGroupShrinkRequestPrePaidOptionsSpecifyCapacityDistribution[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestSystemDiskConfig extends $dara.Model {
    /**
     * @remarks
     * The category of the system disk. You can specify multiple disk categories, and the disk categories are prioritized in the order in which they are specified. If a specified disk category is unavailable, the system uses the next available disk category. Valid values:
     *
     * - cloud_efficiency: ultra disk.
     * - cloud_ssd: standard SSD.
     * - cloud_essd: ESSD
     * - cloud: basic disk.
     *
     * @example
     * cloud_ssd
     */
    diskCategory?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequestTag extends $dara.Model {
    /**
     * @remarks
     * The key of tag N to add to the auto provisioning group.
     *
     * Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain http:// or https://.
     *
     * @example
     * TestKey
     */
    key?: string;
    /**
     * @remarks
     * The value of tag N to add to the auto provisioning group.
     *
     * Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain http:// or https://.
     *
     * @example
     * TestValue
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreateAutoProvisioningGroupShrinkRequest extends $dara.Model {
    launchConfiguration?: CreateAutoProvisioningGroupShrinkRequestLaunchConfiguration;
    /**
     * @remarks
     * The name of the auto provisioning group. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).
     *
     * @example
     * apg-test
     */
    autoProvisioningGroupName?: string;
    /**
     * @remarks
     * The delivery type of the auto provisioning group. Valid values:
     *
     * *   request: one-time asynchronous delivery. When the auto provisioning group is started, it attempts to asynchronously deliver an instance cluster that meets the target capacity only once. The group does not retry the operation regardless of whether all the instances are delivered.
     * *   instant: one-time synchronous delivery. When the auto provisioning group is started, it attempts to synchronously deliver an instance cluster that meets the target capacity only once. The list of delivered instances and the causes of delivery failures are returned in the response.
     * *   maintain: continuous delivery. When the auto provisioning group is started, it attempts to deliver an instance cluster that meets the target capacity, and monitors the real-time capacity. If the target capacity of the auto provisioning group is not reached, the auto provisioning group continues to create instances until the target capacity is reached.
     *
     * Default value: maintain.
     *
     * @example
     * maintain
     */
    autoProvisioningGroupType?: string;
    /**
     * @remarks
     * The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](https://help.aliyun.com/document_detail/25693.html).
     *
     * @example
     * 0c593ea1-3bea-11e9-b96b-88e9fe637760
     */
    clientToken?: string;
    /**
     * @remarks
     * The information of data disks on the instance.
     */
    dataDiskConfig?: CreateAutoProvisioningGroupShrinkRequestDataDiskConfig[];
    /**
     * @remarks
     * The type of supplemental instances. When the sum of the `PayAsYouGoTargetCapacity` and `SpotTargetCapacity` values is smaller than the `TotalTargetCapacity` value, the auto provisioning group creates instances of the specified type to meet the total target capacity. Valid values:
     *
     * *   PayAsYouGo: pay-as-you-go
     * *   Spot: spot instance
     *
     * Default value: Spot.
     *
     * @example
     * Spot
     */
    defaultTargetCapacityType?: string;
    /**
     * @remarks
     * The description of the auto provisioning group.
     *
     * @example
     * testDescription
     */
    description?: string;
    /**
     * @remarks
     * Specifies whether to release scaled-in instances when the real-time capacity of the auto provisioning group exceeds the target capacity and the group is triggered to scale in. Valid values:
     *
     * *   termination: releases the scaled-in instances in the auto provisioning group.
     * *   no-termination: removes the scaled-in instances from the auto provisioning group but does not release the instances.
     *
     * Default value: no-termination.
     *
     * @example
     * termination
     */
    excessCapacityTerminationPolicy?: string;
    executionMode?: string;
    /**
     * @remarks
     * >This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * false
     */
    hibernationOptionsConfigured?: boolean;
    /**
     * @remarks
     * The extended configurations of the launch template.
     */
    launchTemplateConfig?: CreateAutoProvisioningGroupShrinkRequestLaunchTemplateConfig[];
    /**
     * @remarks
     * The ID of the launch template associated with the auto provisioning group. You can call the [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html) operation to query available launch templates. When both LaunchTemplateId and `LaunchConfiguration.*` parameters are specified, LaunchTemplateId takes precedence.
     *
     * @example
     * lt-bp1fgzds4bdogu03****
     */
    launchTemplateId?: string;
    /**
     * @remarks
     * The version of the launch template associated with the auto provisioning group. You can call the [DescribeLaunchTemplateVersions](https://help.aliyun.com/document_detail/73761.html) operation to query the versions of available launch templates.
     *
     * Default value: the default version of the launch template.
     *
     * @example
     * 1
     */
    launchTemplateVersion?: string;
    /**
     * @remarks
     * The maximum price of spot instances in the auto provisioning group.
     *
     * >  When both `MaxSpotPrice` and `LaunchTemplateConfig.N.MaxPrice` are specified, the smaller one of the two parameter values is used.
     *
     * @example
     * 2
     */
    maxSpotPrice?: number;
    /**
     * @remarks
     * The minimum target capacity of the auto provisioning group. The value must be a positive integer. When you specify this parameter, take note of the following items:
     *
     * - This parameter takes effect only when `AutoProvisioningGroupType` is set to instant.
     * - If the number of instances that can be created in the current region is smaller than the value of this parameter, the operation cannot be called and no instances are created.
     * - If the number of instances that can be created in the current region is greater than the value of this parameter, instances can be created based on the specified parameters.
     *
     * @example
     * 20
     */
    minTargetCapacity?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The policy for creating pay-as-you-go instances. Valid values:
     *
     * *   lowest-price: cost optimization policy. The auto provisioning group selects the lowest-priced instance type to create instances.
     * *   prioritized: priority-based policy. The auto provisioning group creates instances based on the priority specified by `LaunchTemplateConfig.N.Priority`.
     *
     * Default value: lowest-price.
     *
     * @example
     * prioritized
     */
    payAsYouGoAllocationStrategy?: string;
    /**
     * @remarks
     * The target capacity of pay-as-you-go instances in the auto provisioning group. The value must be less than or equal to the `TotalTargetCapacity` value.
     *
     * @example
     * 30
     */
    payAsYouGoTargetCapacity?: string;
    /**
     * @remarks
     * The capacity details of the subscription instance.
     */
    prePaidOptions?: CreateAutoProvisioningGroupShrinkRequestPrePaidOptions;
    /**
     * @remarks
     * The ID of the region in which to create the auto provisioning group. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The ID of the resource group to which to assign the auto provisioning group.
     *
     * @example
     * rg-bp67acfmxazb4p****
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The resource pool options to use to create instances. When you specify this parameter, take note of the following items:
     *
     * *   This parameter takes effect only when the auto provisioning group creates pay-as-you-go instances.
     * *   This parameter takes effect only if you set `AutoProvisioningGroupType` to instant.
     */
    resourcePoolOptionsShrink?: string;
    /**
     * @remarks
     * The policy for creating spot instances. Valid values:
     *
     * *   lowest-price: cost optimization policy. The auto provisioning group selects the lowest-priced instance type to create instances.
     * *   diversified: balanced distribution policy. The auto provisioning group creates instances in zones that are specified in extended configurations and then evenly distributes the instances across the zones.
     * *   capacity-optimized: capacity-optimized distribution policy. The auto provisioning group creates instances of the optimal instance types across the optimal zones based on resource availability.
     *
     * Default value: lowest-price.
     *
     * @example
     * diversified
     */
    spotAllocationStrategy?: string;
    /**
     * @remarks
     * The operation to be performed on the spot instance when it is interrupted. Valid values:
     *
     * *   stop: stops the spot instance.
     * *   terminate: releases the spot instance.
     *
     * Default value: terminate.
     *
     * @example
     * terminate
     */
    spotInstanceInterruptionBehavior?: string;
    /**
     * @remarks
     * The number of spot instances of the lowest-priced instance type to be created by the auto provisioning group. This parameter takes effect when `SpotAllocationStrategy` is set to `lowest-price`.
     *
     * The value must be smaller than the N value specified in `LaunchTemplateConfig.N`.
     *
     * @example
     * 2
     */
    spotInstancePoolsToUseCount?: number;
    /**
     * @remarks
     * The target capacity of spot instances in the auto provisioning group. The value must be less than or equal to the `TotalTargetCapacity` value.
     *
     * @example
     * 20
     */
    spotTargetCapacity?: string;
    /**
     * @remarks
     * The information of system disks on the instance.
     */
    systemDiskConfig?: CreateAutoProvisioningGroupShrinkRequestSystemDiskConfig[];
    /**
     * @remarks
     * The tags to add to the auto provisioning group.
     */
    tag?: CreateAutoProvisioningGroupShrinkRequestTag[];
    /**
     * @remarks
     * Specifies whether to release instances in the auto provisioning group when the auto provisioning group is deleted. Valid values:
     *
     * *   true: releases the instances.
     * *   false: retains the instances.
     *
     * Default value: false.
     *
     * @example
     * true
     */
    terminateInstances?: boolean;
    /**
     * @remarks
     * Specifies whether to release instances in the auto provisioning group when the group expires. Valid values:
     *
     * *   true: releases the instances.
     * *   false: only removes the instances from the auto provisioning group but does not release them.
     *
     * Default value: false.
     *
     * @example
     * true
     */
    terminateInstancesWithExpiration?: boolean;
    /**
     * @remarks
     * The total target capacity of the auto provisioning group. The value must be a positive integer.
     *
     * The total target capacity of the auto provisioning group must be greater than or equal to the sum of the target capacity of pay-as-you-go instances specified by `PayAsYouGoTargetCapacity` and the target capacity of spot instances specified by `SpotTargetCapacity`.
     *
     * This parameter is required.
     *
     * @example
     * 60
     */
    totalTargetCapacity?: string;
    /**
     * @remarks
     * The time at which to start the auto provisioning group. The period of time between this point in time and the point in time specified by `ValidUntil` is the validity period of the auto provisioning group.
     *
     * Specify the time in the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
     *
     * By default, an auto provisioning group is started immediately after it is created.
     *
     * @example
     * 2019-04-01T15:10:20Z
     */
    validFrom?: string;
    /**
     * @remarks
     * The time at which the auto provisioning group expires. The period of time between this point in time and the point in time specified by `ValidFrom` is the validity period of the auto provisioning group.
     *
     * Specify the time in the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
     *
     * Default value: 2099-12-31T23:59:59Z.
     *
     * @example
     * 2019-06-01T15:10:20Z
     */
    validUntil?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
