// This file is auto-generated, don't edit it /** */ import Util, * as $Util from '@alicloud/tea-util'; import OpenApi, * as $OpenApi from '@alicloud/openapi-client'; import OpenApiUtil from '@alicloud/openapi-util'; import EndpointUtil from '@alicloud/endpoint-util'; import * as $tea from '@alicloud/tea-typescript'; export class AcceptInquiredSystemEventRequest extends $tea.Model { /** * @remarks * > This parameter is in invitational preview and is unavailable to general users. * * @example * hide */ choice?: string; /** * @remarks * The ID of the system event. * * This parameter is required. * * @example * e-2zeielxl1qzq8slb**** */ eventId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the system event. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { choice: 'Choice', eventId: 'EventId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { choice: 'string', eventId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AcceptInquiredSystemEventResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 4DD56CA6-6D75-4D33-BE34-E4A44EBE1C3D */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AcceptInquiredSystemEventResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AcceptInquiredSystemEventResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AcceptInquiredSystemEventResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ActivateRouterInterfaceRequest extends $tea.Model { ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routerInterfaceId?: string; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ActivateRouterInterfaceResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ActivateRouterInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ActivateRouterInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ActivateRouterInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddBandwidthPackageIpsRequest extends $tea.Model { /** * @remarks * This parameter is required. */ bandwidthPackageId?: string; clientToken?: string; /** * @remarks * This parameter is required. */ ipCount?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', clientToken: 'ClientToken', ipCount: 'IpCount', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: 'string', clientToken: 'string', ipCount: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddBandwidthPackageIpsResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddBandwidthPackageIpsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AddBandwidthPackageIpsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AddBandwidthPackageIpsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddTagsRequest extends $tea.Model { ownerId?: number; /** * @remarks * The region ID of the resource. 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. When the resources are instances, this parameter can be interpreted as InstanceId. * * This parameter is required. * * @example * i-bp1gtjxuuvwj17zr**** */ resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource. Valid values: * * * instance: ECS instance * * disk: disk * * snapshot: snapshot * * image: image * * securitygroup: security group * * volume: storage volume * * eni: elastic network interface (ENI) * * ddh: dedicated host * * keypair: SSH key pair * * launchtemplate: launch template * * reservedinstance: reserved instance * * snapshotpolicy: automatic snapshot policy * * All values must be lowercase. * * This parameter is required. * * @example * instance */ resourceType?: string; /** * @remarks * The tags. * * This parameter is required. */ tag?: AddTagsRequestTag[]; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': AddTagsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddTagsResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddTagsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AddTagsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AddTagsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsRequest extends $tea.Model { networkAttributes?: AllocateDedicatedHostsRequestNetworkAttributes; /** * @remarks * The policy used to migrate the instances deployed on the dedicated host when the dedicated host fails or needs to be repaired online. Valid values: * * * Migrate: The instances are migrated to another physical server and restarted. * * If cloud disks are attached to the dedicated host, the default value is Migrate. * * * Stop: The instances are stopped. If the dedicated host cannot be repaired, the instances are migrated to another physical machine and then restarted. * * If local disks are attached to the dedicated host, the default value is Stop. * * @example * Migrate */ actionOnMaintenance?: string; /** * @remarks * Specifies whether to add the dedicated host to the resource pool for automatic deployment. If you create an ECS instance on a dedicated host without specifying the **DedicatedHostId** parameter, Alibaba Cloud selects a dedicated host from the resource pool to host the instance. For more information, see [Automatic deployment](https://help.aliyun.com/document_detail/118938.html). Valid values: * * * on: adds the dedicated host to the resource pool for automatic deployment. * * off: does not add the dedicated host to the resource pool for automatic deployment. * * Default value: on. * * > If you do not want to add the dedicated host to the resource pool for automatic deployment, set this parameter to off. * * @example * off */ autoPlacement?: string; /** * @remarks * The time when to automatically release the dedicated host. Specify the time in the `ISO 8601` standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. * * > * * * It must be at least half an hour later than the current time. * * * It must be at most three years later than the current time. * * * If the value of seconds (ss) is not 00, it is automatically set to 00. * * @example * 2019-08-21T12:30:24Z */ autoReleaseTime?: string; /** * @remarks * Specifies whether to automatically renew the subscription dedicated host. * * > The **AutoRenew** parameter takes effect only when the **ChargeType** parameter is set to PrePaid. * * Default value: false * * @example * false */ autoRenew?: boolean; /** * @remarks * The auto-renewal duration of the dedicated host. The **AutoRenewPeriod** parameter takes effect and is required only when the **AutoRenew** parameter is set to true. Valid values: * * Valid values when PeriodUnit is set to Month: 1, 2, 3, 6, and 12. * * @example * 1 */ autoRenewPeriod?: number; /** * @remarks * The billing method of the dedicated host. Valid values: * * * PrePaid: subscription. If you set this parameter to PrePaid, make sure that you have sufficient account balance or credits. Otherwise, `InvalidPayMethod` is returned. * * PostPaid: pay-as-you-go. * * Default value: PostPaid. * * @example * PrePaid */ chargeType?: 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The CPU overcommit ratio. You can configure CPU overcommit ratios only for the following dedicated host types: g6s, c6s, and r6s. Valid values: 1 to 5. * * The CPU overcommit ratio affects the number of available vCPUs on a dedicated host. You can use the following formula to calculate the number of available vCPUs on a dedicated host: Number of available vCPUs = Number of physical CPU cores × 2 × CPU overcommit ratio. For example, the number of physical CPU cores on each g6s dedicated host is 52. If you set the CPU overcommit ratio of a g6s dedicated host to 4, the number of available vCPUs on the dedicated host is 416. For scenarios that have minimal requirements on CPU stability or where CPU load is not heavy, such as development and test environments, you can increase the number of available vCPUs on a dedicated host by increasing the CPU overcommit ratio. This way, you can deploy more ECS instances of the same specifications on the dedicated host and reduce the unit deployment cost. * * @example * 1 */ cpuOverCommitRatio?: number; /** * @remarks * The ID of the dedicated host cluster in which to create the dedicated host. * * @example * dc-bp12wlf6am0vz9v2**** */ dedicatedHostClusterId?: string; /** * @remarks * The name of the dedicated host. The name must be 2 to 128 characters in length and can contain letters and digits. The name can contain colons (:), underscores (_), periods (.), and hyphens (-). * * @example * myDDH */ dedicatedHostName?: string; /** * @remarks * The dedicated host type. You can call the [DescribeDedicatedHostTypes](https://help.aliyun.com/document_detail/134240.html) operation to query the most recent list of dedicated host types. * * This parameter is required. * * @example * ddh.c5 */ dedicatedHostType?: string; /** * @remarks * The description of the dedicated host. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * This-is-my-DDH */ description?: string; /** * @remarks * The minimum number of dedicated hosts to create. Valid values: 1 to 100. * * > If the number of available dedicated hosts is less than the minimum number of dedicated hosts to create, the dedicated hosts fail to be created. * * @example * 2 */ minQuantity?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The subscription duration of the dedicated host. The `Period` parameter is required and takes effect only when the `ChargeType` parameter is set to `PrePaid`. Valid values: * * * Valid values when the PeriodUnit parameter is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * * Valid values when the PeriodUnit parameter is set to Year: 1, 2, 3, 4, and 5. * * @example * 6 */ period?: number; /** * @remarks * The unit of the subscription duration of the dedicated host. Valid values: * * * Month * * Year * * Default value: Month. * * @example * Month */ periodUnit?: string; /** * @remarks * The number of dedicated hosts that you want to create. Valid values: 1 to 100. * * Default value: 1. * * @example * 2 */ quantity?: number; /** * @remarks * The ID of the region in which to create the dedicated host. 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 dedicated host. * * @example * rg-bp67acfmxazb4ph*** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the dedicated host. */ tag?: AllocateDedicatedHostsRequestTag[]; /** * @remarks * The ID of the zone in which to create the dedicated host. * * This parameter is empty by default. If you do not specify a zone, the system selects a zone. * * @example * cn-hangzhou-f */ zoneId?: string; static names(): { [key: string]: string } { return { networkAttributes: 'NetworkAttributes', actionOnMaintenance: 'ActionOnMaintenance', autoPlacement: 'AutoPlacement', autoReleaseTime: 'AutoReleaseTime', autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', chargeType: 'ChargeType', clientToken: 'ClientToken', cpuOverCommitRatio: 'CpuOverCommitRatio', dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostName: 'DedicatedHostName', dedicatedHostType: 'DedicatedHostType', description: 'Description', minQuantity: 'MinQuantity', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', quantity: 'Quantity', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { networkAttributes: AllocateDedicatedHostsRequestNetworkAttributes, actionOnMaintenance: 'string', autoPlacement: 'string', autoReleaseTime: 'string', autoRenew: 'boolean', autoRenewPeriod: 'number', chargeType: 'string', clientToken: 'string', cpuOverCommitRatio: 'number', dedicatedHostClusterId: 'string', dedicatedHostName: 'string', dedicatedHostType: 'string', description: 'string', minQuantity: 'number', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', quantity: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': AllocateDedicatedHostsRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsResponseBody extends $tea.Model { /** * @remarks * The IDs of the dedicated hosts. */ dedicatedHostIdSets?: AllocateDedicatedHostsResponseBodyDedicatedHostIdSets; /** * @remarks * The ID of the request. * * @example * E2A664A6-2933-4C64-88AE-5033D003**** */ requestId?: string; static names(): { [key: string]: string } { return { dedicatedHostIdSets: 'DedicatedHostIdSets', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { dedicatedHostIdSets: AllocateDedicatedHostsResponseBodyDedicatedHostIdSets, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AllocateDedicatedHostsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AllocateDedicatedHostsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateEipAddressRequest extends $tea.Model { activityId?: number; bandwidth?: string; clientToken?: string; ISP?: string; internetChargeType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { activityId: 'ActivityId', bandwidth: 'Bandwidth', clientToken: 'ClientToken', ISP: 'ISP', internetChargeType: 'InternetChargeType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { activityId: 'number', bandwidth: 'string', clientToken: 'string', ISP: 'string', internetChargeType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateEipAddressResponseBody extends $tea.Model { allocationId?: string; eipAddress?: string; requestId?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', eipAddress: 'EipAddress', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { allocationId: 'string', eipAddress: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateEipAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AllocateEipAddressResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AllocateEipAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocatePublicIpAddressRequest extends $tea.Model { /** * @remarks * The ID of the instance to which you want to assign a public IP address. * * This parameter is required. * * @example * i-bp1gtjxuuvwj17zr**** */ instanceId?: string; /** * @remarks * The public IP address. If you leave this parameter empty, the system randomly assigns a public IP address to the instance. * * @example * ``112.124.**.**`` */ ipAddress?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The virtual LAN (VLAN) ID of the instance. * * > This parameter will be removed in the future. To ensure future compatibility, we recommend that you use other parameters. * * @example * 720 */ vlanId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ipAddress: 'IpAddress', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vlanId: 'VlanId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ipAddress: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vlanId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocatePublicIpAddressResponseBody extends $tea.Model { /** * @remarks * The public IP address. * * @example * ``112.124.**.**`` */ ipAddress?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { ipAddress: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocatePublicIpAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AllocatePublicIpAddressResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AllocatePublicIpAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ApplyAutoSnapshotPolicyRequest extends $tea.Model { ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the automatic snapshot policy. * * This parameter is required. * * @example * sp-bp14yziiuvu3s6jn**** */ autoSnapshotPolicyId?: string; /** * @remarks * The IDs of disks. The value is a JSON array that consists of disk IDs. Separate the disk IDs with commas (,). * * This parameter is required. * * @example * ["d-bp14k9cxvr5uzy54****", "d-bp1dtj8v7x6u08iw****", "d-bp1c0tyj9tfli2r8****"] */ diskIds?: string; /** * @remarks * The region ID of the automatic snapshot policy and the disks. 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; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', autoSnapshotPolicyId: 'autoSnapshotPolicyId', diskIds: 'diskIds', regionId: 'regionId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', autoSnapshotPolicyId: 'string', diskIds: 'string', regionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ApplyAutoSnapshotPolicyResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ApplyAutoSnapshotPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ApplyAutoSnapshotPolicyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ApplyAutoSnapshotPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignIpv6AddressesRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The IPv6 addresses to assign to the ENI. Valid values of N: 1 to 10. * * Example: Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\* * * > You must specify `Ipv6Addresses.N` or `Ipv6AddressCount`, but not both. * * @example * 2001:db8:1234:1a00::**** */ ipv6Address?: string[]; /** * @remarks * The number of IPv6 addresses to randomly generate for the ENI. Valid values: 1 to 10. * * > You must specify `Ipv6Addresses.N` or `Ipv6AddressCount`, but not both. * * @example * 1 */ ipv6AddressCount?: number; /** * @remarks * The IPv6 prefixes to assign to the ENI. Valid values of N: 1 to 10. * * > To assign IPv6 prefixes to the ENI, you must specify Ipv6Prefix.N or Ipv6PrefixCount, but not both. */ ipv6Prefix?: string[]; /** * @remarks * The number of IPv6 prefixes to assign to the ENI. Valid values: 1 to 10. * * > To assign IPv6 prefixes to the ENI, you must specify Ipv6Prefix.N or Ipv6PrefixCount, but not both. * * @example * hide */ ipv6PrefixCount?: number; /** * @remarks * The ENI ID. * * This parameter is required. * * @example * eni-bp1iqejowblx6h8j**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the ENI. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ipv6Address: 'Ipv6Address', ipv6AddressCount: 'Ipv6AddressCount', ipv6Prefix: 'Ipv6Prefix', ipv6PrefixCount: 'Ipv6PrefixCount', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ipv6Address: { 'type': 'array', 'itemType': 'string' }, ipv6AddressCount: 'number', ipv6Prefix: { 'type': 'array', 'itemType': 'string' }, ipv6PrefixCount: 'number', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignIpv6AddressesResponseBody extends $tea.Model { /** * @remarks * The IPv6 prefixes of the ENI. */ ipv6PrefixSets?: AssignIpv6AddressesResponseBodyIpv6PrefixSets; /** * @remarks * The IPv6 addresses assigned to the ENI. */ ipv6Sets?: AssignIpv6AddressesResponseBodyIpv6Sets; /** * @remarks * The ENI ID. * * @example * eni-bp1iqejowblx6h8j**** */ networkInterfaceId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', networkInterfaceId: 'NetworkInterfaceId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { ipv6PrefixSets: AssignIpv6AddressesResponseBodyIpv6PrefixSets, ipv6Sets: AssignIpv6AddressesResponseBodyIpv6Sets, networkInterfaceId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignIpv6AddressesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AssignIpv6AddressesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AssignIpv6AddressesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The IPv4 prefixes to assign to the ENI. Valid values of N: 1 to 10. * * > To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both. */ ipv4Prefix?: string[]; /** * @remarks * The number of IPv4 prefixes to be randomly generated for the ENI. Valid values: 1 to 10. * * > To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both. * * @example * hide */ ipv4PrefixCount?: number; /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * eni-bp67acfmxazb4p**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Secondary private IP address N to be automatically assigned from the CIDR block of the vSwitch that is connected to the ENI. Valid values of N: * * * When the ENI is in the Available (`Available`) state, the valid values of N are 1 to 50. * * When the ENI is in the InUse (`InUse`) state, the valid values of N are subject to the instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). * * To assign secondary private IP addresses to the ENI, you must specify `PrivateIpAddress.N` or `SecondaryPrivateIpAddressCount` but not both. * * @example * ``10.1.**.**`` */ privateIpAddress?: string[]; /** * @remarks * The region ID of the ENI. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The number of private IP addresses to be automatically assigned from the CIDR block of the vSwitch that is connected to the ENI. * * To assign secondary private IP addresses to the ENI, you must specify `PrivateIpAddress.N` or `SecondaryPrivateIpAddressCount` but not both. * * @example * 1 */ secondaryPrivateIpAddressCount?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ipv4Prefix: 'Ipv4Prefix', ipv4PrefixCount: 'Ipv4PrefixCount', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', secondaryPrivateIpAddressCount: 'SecondaryPrivateIpAddressCount', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ipv4Prefix: { 'type': 'array', 'itemType': 'string' }, ipv4PrefixCount: 'number', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', privateIpAddress: { 'type': 'array', 'itemType': 'string' }, regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', secondaryPrivateIpAddressCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesResponseBody extends $tea.Model { /** * @remarks * Details about the ENI and the secondary private IP addresses that are assigned to the ENI. */ assignedPrivateIpAddressesSet?: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSet; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { assignedPrivateIpAddressesSet: 'AssignedPrivateIpAddressesSet', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { assignedPrivateIpAddressesSet: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSet, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AssignPrivateIpAddressesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AssignPrivateIpAddressesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateEipAddressRequest extends $tea.Model { /** * @remarks * This parameter is required. */ allocationId?: string; /** * @remarks * This parameter is required. */ instanceId?: string; instanceType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', instanceId: 'InstanceId', instanceType: 'InstanceType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { allocationId: 'string', instanceId: 'string', instanceType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateEipAddressResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateEipAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AssociateEipAddressResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AssociateEipAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateHaVipRequest extends $tea.Model { clientToken?: string; /** * @remarks * This parameter is required. */ haVipId?: string; /** * @remarks * This parameter is required. */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', haVipId: 'HaVipId', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', haVipId: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateHaVipResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssociateHaVipResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AssociateHaVipResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AssociateHaVipResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachClassicLinkVpcRequest extends $tea.Model { /** * @remarks * The ID of the instance that is deployed in the classic network. You can call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation to query available instances. * * This parameter is required. * * @example * i-bp1gtjxuuvwj17zr**** */ instanceId?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the VPC for which the ClassicLink feature is enabled. You can call the [DescribeVpcs](https://help.aliyun.com/document_detail/35739.html) operation to query available VPCs. * * This parameter is required. * * @example * vpc-bp1j4z1sr8zxu4l8u**** */ vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachClassicLinkVpcResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachClassicLinkVpcResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AttachClassicLinkVpcResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AttachClassicLinkVpcResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachDiskRequest extends $tea.Model { /** * @remarks * Specifies whether to attach the disk as a system disk. * * Default value: false. * * > You can set `Bootable` to true only if the instance does not have a system disk. * * @example * false */ bootable?: boolean; /** * @remarks * Specifies whether to release the disk when the instance is released. * * * true: releases the disk when the instance is released. * * false: does not release the disk when the instance is released. The disk is retained as a pay-as-you-go data disk. * * Default value: false. * * When you specify this parameter, take note of the following items: * * * If `OperationLocks` in the DescribeInstances response contains `"LockReason" : "security"` for the instance to which the disk is attached, the instance is locked for security reasons. Regardless of whether you set `DeleteWithInstance` to `false`, the DeleteWithInstance setting is ignored, and the disk is released when the instance is released. * * If you want to attach an `elastic ephemeral disk`, you must set `DeleteWithInstance` to `true`. * * This parameter is unavailable for disks for which the multi-attach feature is enabled. * * @example * false */ deleteWithInstance?: boolean; /** * @remarks * The device name of the disk. * * > This parameter will be removed in the future. We recommend that you use other parameters to ensure future compatibility. * * @example * testDeviceName */ device?: string; /** * @remarks * The ID of the disk. The disk specified by `DiskId` and the instance specified by `InstanceId` must reside in the same zone. * * > For more information about the limits on attaching a data disk and a system disk, see the "Usage notes" section of this topic. * * This parameter is required. * * @example * d-bp1j4l5axzdy6ftk**** */ diskId?: string; /** * @remarks * Specifies whether to forcefully attach the disk to the instance. * * * true * * false * * Default value: false. * * @example * false */ force?: boolean; /** * @remarks * The ID of the instance to which you want to attach the disk. * * This parameter is required. * * @example * i-bp1dq5lozx5f4pmd**** */ instanceId?: string; /** * @remarks * The name of the SSH key pair that you bind to the Linux instance when you attach the system disk. * * * Windows instances do not support logons based on SSH key pairs. The `Password` parameter takes effect even if the KeyPairName parameter is specified. * * For Linux instances, the username and password-based logon method is disabled by default. * * @example * KeyPairTestName */ keyPairName?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The password that is set when you attach the system disk. The password is applicable only to the administrator and root users. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: * * ()`~!@#$%^&*-_+=|{}[]:;\\"<>,.?/ * * For Windows instances, passwords cannot start with a forward slash (/). * * > If `Password` is configured, we recommend that you send requests over HTTPS to prevent password leaks. * * @example * EcsV587! */ password?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bootable: 'Bootable', deleteWithInstance: 'DeleteWithInstance', device: 'Device', diskId: 'DiskId', force: 'Force', instanceId: 'InstanceId', keyPairName: 'KeyPairName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', password: 'Password', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bootable: 'boolean', deleteWithInstance: 'boolean', device: 'string', diskId: 'string', force: 'boolean', instanceId: 'string', keyPairName: 'string', ownerAccount: 'string', ownerId: 'number', password: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachDiskResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AttachDiskResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AttachDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachInstanceRamRoleRequest extends $tea.Model { /** * @remarks * The IDs of the instances. The value can be a JSON array that consists of up to 100 instance IDs. Separate the IDs with commas (,). * * This parameter is required. * * @example * [“i-bp14ss25xca5ex1u****”, “i-bp154z5o1qjalfse****”, “i-bp10ws62o04ubhvi****”…] */ instanceIds?: string; ownerId?: number; /** * @remarks * The policy. The policy document must be 1 to 1,024 characters in length. When you attach an instance RAM role to one or more instances, you can specify an additional policy to further limit the permissions of the role. For more information, see [Policy overview](https://help.aliyun.com/document_detail/93732.html). * * @example * {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} */ policy?: string; /** * @remarks * The name of the instance 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. * * This parameter is required. * * @example * testRamRoleName */ ramRoleName?: string; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', ownerId: 'OwnerId', policy: 'Policy', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', ownerId: 'number', policy: 'string', ramRoleName: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachInstanceRamRoleResponseBody extends $tea.Model { /** * @remarks * Details about the results of attaching the instance RAM role. */ attachInstanceRamRoleResults?: AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResults; /** * @remarks * The number of instances to which the instance RAM role failed to be attached. * * @example * 0 */ failCount?: number; /** * @remarks * The name of the instance RAM role. * * @example * testRamRoleName */ ramRoleName?: string; /** * @remarks * The request ID. * * @example * D9553E4C-6C3A-4D66-AE79-9835AF705639 */ requestId?: string; /** * @remarks * The total number of instances to which you attempted to attach the instance RAM role. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { attachInstanceRamRoleResults: 'AttachInstanceRamRoleResults', failCount: 'FailCount', ramRoleName: 'RamRoleName', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { attachInstanceRamRoleResults: AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResults, failCount: 'number', ramRoleName: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachInstanceRamRoleResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AttachInstanceRamRoleResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AttachInstanceRamRoleResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachKeyPairRequest extends $tea.Model { /** * @remarks * The IDs of instances to which you want to bind the SSH key pair. The value can be a JSON array that consists of up to 50 instance IDs. Separate multiple instance IDs with commas (,). * * This parameter is required. * * @example * ["i-bp1gtjxuuvwj17zr****", "i-bp17b7zrsbjwvmfy****", … "i-bp1h6jmbefj1ytos****"] */ instanceIds?: string; /** * @remarks * The name of the SSH key pair. * * This parameter is required. * * @example * testKeyPairName */ keyPairName?: string; ownerId?: number; /** * @remarks * The region ID of the SSH key pair. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', keyPairName: 'KeyPairName', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', keyPairName: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachKeyPairResponseBody extends $tea.Model { /** * @remarks * The number of instances to which the SSH key pair fails to be bound. * * @example * 0 */ failCount?: string; /** * @remarks * The name of the SSH key pair. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * An array that contains the results of the operation. */ results?: AttachKeyPairResponseBodyResults; /** * @remarks * The total number of instances to which the SSH key pair is bound. * * @example * 2 */ totalCount?: string; static names(): { [key: string]: string } { return { failCount: 'FailCount', keyPairName: 'KeyPairName', requestId: 'RequestId', results: 'Results', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { failCount: 'string', keyPairName: 'string', requestId: 'string', results: AttachKeyPairResponseBodyResults, totalCount: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachKeyPairResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AttachKeyPairResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AttachKeyPairResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachNetworkInterfaceRequest extends $tea.Model { /** * @remarks * The instance ID. * * This parameter is required. * * @example * i-bp16qstyvxj9gpqw**** */ instanceId?: string; /** * @remarks * The index of the network interface controller (NIC). * * > The value of this parameter varies based on the instance family of the specified instance. If the instance type of the specified instance does not support NICs, leave this parameter empty. If the instance type of the specified instance supports NICs, set this parameter to a valid value. For information about the valid values of this parameter, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * 0 */ networkCardIndex?: number; /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * eni-bp17pdijfczax1huji**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the trunk ENI. * * > This parameter is unavailable. * * @example * eni-f8zapqwj1v1j4ia3**** */ trunkNetworkInstanceId?: string; /** * @remarks * > This parameter is no longer supported. * * @example * null */ waitForNetworkConfigurationReady?: boolean; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', networkCardIndex: 'NetworkCardIndex', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', trunkNetworkInstanceId: 'TrunkNetworkInstanceId', waitForNetworkConfigurationReady: 'WaitForNetworkConfigurationReady', }; } static types(): { [key: string]: any } { return { instanceId: 'string', networkCardIndex: 'number', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', trunkNetworkInstanceId: 'string', waitForNetworkConfigurationReady: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachNetworkInterfaceResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachNetworkInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AttachNetworkInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AttachNetworkInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Description` to specify the rule description. * * @example * This is description. * * @deprecated */ description?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestCidrIp` to specify the destination IPv4 CIDR block. * * @example * 10.0.0.0/8 * * @deprecated */ destCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.IpProtocol` to specify the protocol. * * @example * ALL * * @deprecated */ ipProtocol?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Ipv6DestCidrIp` to specify the destination IPv6 CIDR block. * * @example * 2001:250:6000::*** * * @deprecated */ ipv6DestCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Ipv6SourceCidrIp` to specify the source IPv6 CIDR block. * * @example * 2001:250:6000::*** * * @deprecated */ ipv6SourceCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.NicType` to specify the network interface type. * * @example * intranet * * @deprecated */ nicType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Security group rule N. Valid values of N: 1 to 100. */ permissions?: AuthorizeSecurityGroupRequestPermissions[]; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Policy` to specify whether to allow access. * * @example * accept * * @deprecated */ policy?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.PortRange` to specify the range of destination ports. * * @example * 22/22 * * @deprecated */ portRange?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Priority` to specify the rule priority. * * @example * 1 * * @deprecated */ priority?: string; /** * @remarks * The region ID of the security 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the security group. * * This parameter is required. * * @example * sg-bp67acfmxazb4p**** */ securityGroupId?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourceCidrIp` to specify the source IPv4 CIDR block. * * @example * 10.0.0.0/8 * * @deprecated */ sourceCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourceGroupId` to specify the ID of the source security group. * * @example * sg-bp67acfmxazb4p**** * * @deprecated */ sourceGroupId?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourceGroupOwnerAccount` to specify the Alibaba Cloud account that manages the source security group. * * @example * test@aliyun.com * * @deprecated */ sourceGroupOwnerAccount?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourceGroupOwnerId` to specify the ID of the Alibaba Cloud account that manages the source security group. * * @example * 1234567890 * * @deprecated */ sourceGroupOwnerId?: number; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourcePortRange` to specify the range of source ports. * * @example * 22/22 * * @deprecated */ sourcePortRange?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourcePrefixListId` to specify the ID of the source prefix list. * * @example * pl-x1j1k5ykzqlixdcy**** * * @deprecated */ sourcePrefixListId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', destCidrIp: 'DestCidrIp', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', permissions: 'Permissions', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', sourceCidrIp: 'SourceCidrIp', sourceGroupId: 'SourceGroupId', sourceGroupOwnerAccount: 'SourceGroupOwnerAccount', sourceGroupOwnerId: 'SourceGroupOwnerId', sourcePortRange: 'SourcePortRange', sourcePrefixListId: 'SourcePrefixListId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', destCidrIp: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', ownerAccount: 'string', ownerId: 'number', permissions: { 'type': 'array', 'itemType': AuthorizeSecurityGroupRequestPermissions }, policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupOwnerAccount: 'string', sourceGroupOwnerId: 'number', sourcePortRange: 'string', sourcePrefixListId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AuthorizeSecurityGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AuthorizeSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupEgressRequest extends $tea.Model { /** * @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 [Ensure idempotence](https://help.aliyun.com/document_detail/25693.html). * * @example * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Description` to specify the description of security group rule N. * * @example * This is description. * * @deprecated */ description?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestCidrIp` to specify the destination IPv4 CIDR block. * * @example * 10.0.0.0/8 * * @deprecated */ destCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestGroupId` to specify the ID of the destination security group. * * @example * sg-bp67acfmxazb4p**** * * @deprecated */ destGroupId?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestGroupOwnerAccount` to specify the Alibaba Cloud account that manages the destination security group. * * @example * Test@aliyun.com * * @deprecated */ destGroupOwnerAccount?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestGroupOwnerId` to specify the ID of the Alibaba Cloud account that manages the destination security group. * * @example * 12345678910 * * @deprecated */ destGroupOwnerId?: number; /** * @remarks * This parameter is deprecated. Use `Permissions.N.DestPrefixListId` to specify the ID of the destination prefix list. * * @example * pl-x1j1k5ykzqlixdcy**** * * @deprecated */ destPrefixListId?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.IpProtocol` to specify the protocol. * * @example * ALL * * @deprecated */ ipProtocol?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Ipv6DestCidrIp` to specify the destination IPv6 CIDR block. * * @example * 2001:db8:1233:1a00::*** * * @deprecated */ ipv6DestCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Ipv6SourceCidrIp` to specify the source IPv6 CIDR block. * * @example * 2001:db8:1234:1a00::*** * * @deprecated */ ipv6SourceCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.NicType` to specify the NIC type. * * @example * intranet * * @deprecated */ nicType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Security group rule N. Valid values of N: 1 to 100. */ permissions?: AuthorizeSecurityGroupEgressRequestPermissions[]; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Policy` to specify whether to allow outbound access. * * @example * accept * * @deprecated */ policy?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.PortRange` to specify the range of destination ports. * * @example * 80/80 * * @deprecated */ portRange?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.Priority` to specify the rule priority. * * @example * 1 * * @deprecated */ priority?: string; /** * @remarks * The region ID of the source security 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The security group ID. * * This parameter is required. * * @example * sg-bp67acfmxazb4p**** */ securityGroupId?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourceCidrIp` to specify the source IPv4 CIDR block. * * @example * 10.0.0.0/8 * * @deprecated */ sourceCidrIp?: string; /** * @remarks * This parameter is deprecated. Use `Permissions.N.SourcePortRange` to specify the range of source ports. * * @example * 80/80 * * @deprecated */ sourcePortRange?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', destCidrIp: 'DestCidrIp', destGroupId: 'DestGroupId', destGroupOwnerAccount: 'DestGroupOwnerAccount', destGroupOwnerId: 'DestGroupOwnerId', destPrefixListId: 'DestPrefixListId', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', permissions: 'Permissions', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', sourceCidrIp: 'SourceCidrIp', sourcePortRange: 'SourcePortRange', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', destCidrIp: 'string', destGroupId: 'string', destGroupOwnerAccount: 'string', destGroupOwnerId: 'number', destPrefixListId: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', ownerAccount: 'string', ownerId: 'number', permissions: { 'type': 'array', 'itemType': AuthorizeSecurityGroupEgressRequestPermissions }, policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', sourceCidrIp: 'string', sourcePortRange: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupEgressResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupEgressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: AuthorizeSecurityGroupEgressResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: AuthorizeSecurityGroupEgressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelAutoSnapshotPolicyRequest extends $tea.Model { /** * @remarks * RAM用户的虚拟账号ID。 * * @example * 155780923770 */ ownerId?: number; /** * @remarks * 资源主账号的账号名称。 * * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @remarks * 资源主账号的ID,亦即UID。 * * @example * 155780923770 */ resourceOwnerId?: number; /** * @remarks * The IDs of the disks for which you want to disable the automatic snapshot policy. To disable the automatic snapshot policy for multiple disks, you can set this parameter to a JSON array that consists of multiple disk IDs, such as ["dxxxxxxxxx", "dyyyyyyyyy", … "dzzzzzzzzz"]. Separate the disk IDs with commas (,). * * This parameter is required. * * @example * ["d-bp14k9cxvr5uzy54****", "d-bp1dtj8v7x6u08iw****", "d-bp1c0tyj9tfli2r8****"] */ diskIds?: string; /** * @remarks * The region ID of the automatic snapshot policy and the disks. 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; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', diskIds: 'diskIds', regionId: 'regionId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', diskIds: 'string', regionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelAutoSnapshotPolicyResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelAutoSnapshotPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelAutoSnapshotPolicyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelAutoSnapshotPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelCopyImageRequest extends $tea.Model { /** * @remarks * The ID of the image that is being copied. * * This parameter is required. * * @example * m-bp1caf3yicx5jlfl**** */ imageId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image copy. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { imageId: 'ImageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { imageId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelCopyImageResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelCopyImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelCopyImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelCopyImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelImagePipelineExecutionRequest extends $tea.Model { /** * @remarks * The ID of the image build task. * * This parameter is required. * * @example * exec-5fb8facb8ed7427c**** */ executionId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image build task. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is deprecated. */ templateTag?: CancelImagePipelineExecutionRequestTemplateTag[]; static names(): { [key: string]: string } { return { executionId: 'ExecutionId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', templateTag: 'TemplateTag', }; } static types(): { [key: string]: any } { return { executionId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', templateTag: { 'type': 'array', 'itemType': CancelImagePipelineExecutionRequestTemplateTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelImagePipelineExecutionResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelImagePipelineExecutionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelImagePipelineExecutionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelImagePipelineExecutionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelPhysicalConnectionRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ physicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', physicalConnectionId: 'PhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', physicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelPhysicalConnectionResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelPhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelPhysicalConnectionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelPhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelSimulatedSystemEventsRequest extends $tea.Model { /** * @remarks * The IDs of simulated system events. You can specify up to 100 event IDs in a single request. * * This parameter is required. * * @example * e-xhskHun1256**** */ eventId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { eventId: 'EventId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { eventId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelSimulatedSystemEventsResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelSimulatedSystemEventsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelSimulatedSystemEventsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelSimulatedSystemEventsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelTaskRequest extends $tea.Model { ownerId?: number; /** * @remarks * The ID of the task. You can call the [DescribeTasks](https://help.aliyun.com/document_detail/25622.html) operation to query the list of task IDs. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the request. * * This parameter is required. * * @example * t-bp198jigq7l0h5ac**** */ taskId?: string; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelTaskResponseBody extends $tea.Model { /** * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelTaskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CancelTaskResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CancelTaskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConnectRouterInterfaceRequest extends $tea.Model { ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routerInterfaceId?: string; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConnectRouterInterfaceResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConnectRouterInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ConnectRouterInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ConnectRouterInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConvertNatPublicIpToEipRequest extends $tea.Model { /** * @remarks * The ID of the instance whose public IP address you want to convert into an EIP. * * This parameter is required. * * @example * i-bp171jr36ge2ulvk**** */ instanceId?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConvertNatPublicIpToEipResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ConvertNatPublicIpToEipResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ConvertNatPublicIpToEipResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ConvertNatPublicIpToEipResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopyImageRequest extends $tea.Model { /** * @remarks * The description of the image copy. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * This is a description example. */ destinationDescription?: string; /** * @remarks * The name of the new image. The name must be 2 to 128 characters in length. The name must start with a letter and cannot contain `http://` or `https://`. The name cannot start with `acs:` or `aliyun`. The name can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). * * @example * YourImageName */ destinationImageName?: string; /** * @remarks * The ID of the destination region to which the source custom image is copied. * * @example * cn-shanghai */ destinationRegionId?: string; /** * @remarks * > This parameter is unavailable. * * @example * hide */ encryptAlgorithm?: string; /** * @remarks * Specifies whether to encrypt the new image. * * * true * * false * * Default value: false. * * @example * false */ encrypted?: boolean; /** * @remarks * The ID of the source custom image. * * This parameter is required. * * @example * m-bp1h46wfpjsjastc**** */ imageId?: string; /** * @remarks * The ID of the key used to encrypt the image copy. * * @example * e522b26d-abf6-4e0d-b5da-04b7******3c */ KMSKeyId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the source custom image. 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 new image. If you do not specify this parameter, the new image is assigned to the default resource group. * * > If you call the CopyImage operation as a Resource Access Management (RAM) user who does not have the permissions to manage the default resource group and do not specify `ResourceGroupId`, the `Forbidden: User not authorized to operate on the specified resource` error message is returned. You must specify the ID of a resource group that the RAM user has the permissions to manage or grant the RAM user the permissions to manage the default resource group before you call the CopyImage operation again. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The list of tags. */ tag?: CopyImageRequestTag[]; static names(): { [key: string]: string } { return { destinationDescription: 'DestinationDescription', destinationImageName: 'DestinationImageName', destinationRegionId: 'DestinationRegionId', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', imageId: 'ImageId', KMSKeyId: 'KMSKeyId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { destinationDescription: 'string', destinationImageName: 'string', destinationRegionId: 'string', encryptAlgorithm: 'string', encrypted: 'boolean', imageId: 'string', KMSKeyId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CopyImageRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopyImageResponseBody extends $tea.Model { /** * @remarks * The ID of the image copy. * * @example * m-bp1h46wfpjsjastd**** */ imageId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { imageId: 'ImageId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { imageId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopyImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CopyImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CopyImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopySnapshotRequest extends $tea.Model { /** * @remarks * >This parameter is currently in invitational preview and unavailable for public use. */ arn?: CopySnapshotRequestArn[]; /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The ID of the destination region to which to copy the source snapshot. * * This parameter is required. * * @example * us-east-1 */ destinationRegionId?: string; /** * @remarks * The description of the new snapshot. The description must be 2 to 256 characters in length and cannot start with http:// or https://. * * This parameter is empty by default. * * This parameter is required. * * @example * CopySnapshotDemo */ destinationSnapshotDescription?: string; /** * @remarks * The name of the new snapshot. 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 (-). * * This parameter is left empty by default. * * This parameter is required. * * @example * CopySnapshotDemo */ destinationSnapshotName?: string; /** * @remarks * > This parameter is not publicly available. * * @example * null */ destinationStorageLocationArn?: string; /** * @remarks * Specifies whether to encrypt the new snapshot. Valid values: * * * true * * false * * Default value: false. * * @example * false */ encrypted?: boolean; /** * @remarks * The ID of the customer master key (CMK) in Key Management Service (KMS) in the destination region. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40**** */ KMSKeyId?: string; ownerId?: number; /** * @remarks * The region ID of the source snapshot. 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-chengdu */ regionId?: string; /** * @remarks * This parameter is not publicly available. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The retention period of the new snapshot. Unit: days. The new snapshot is automatically released when its retention period ends. Valid values: 1 to 65536. * * This parameter is empty by default, which indicates that the snapshot is not automatically released. * * @example * 60 */ retentionDays?: number; /** * @remarks * The ID of the source snapshot. * * This parameter is required. * * @example * s-bp67acfmxazb4p**** */ snapshotId?: string; /** * @remarks * The tag key and value of the new snapshot. */ tag?: CopySnapshotRequestTag[]; static names(): { [key: string]: string } { return { arn: 'Arn', clientToken: 'ClientToken', destinationRegionId: 'DestinationRegionId', destinationSnapshotDescription: 'DestinationSnapshotDescription', destinationSnapshotName: 'DestinationSnapshotName', destinationStorageLocationArn: 'DestinationStorageLocationArn', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', retentionDays: 'RetentionDays', snapshotId: 'SnapshotId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { arn: { 'type': 'array', 'itemType': CopySnapshotRequestArn }, clientToken: 'string', destinationRegionId: 'string', destinationSnapshotDescription: 'string', destinationSnapshotName: 'string', destinationStorageLocationArn: 'string', encrypted: 'boolean', KMSKeyId: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', retentionDays: 'number', snapshotId: 'string', tag: { 'type': 'array', 'itemType': CopySnapshotRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopySnapshotResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * C8B26B44-0189-443E-9816-D951F596**** */ requestId?: string; /** * @remarks * The ID of the new snapshot. * * @example * s-bp17441ohwka0yui**** */ snapshotId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { requestId: 'string', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopySnapshotResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CopySnapshotResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CopySnapshotResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateActivationRequest extends $tea.Model { /** * @remarks * The description of the activation code. The description must be 1 to 100 characters in length. * * @example * This is description. */ description?: string; /** * @remarks * The maximum number of times that you can use the activation code to register managed instances. Valid values: 1 to 1000. * * Default value: 10. * * @example * 10 */ instanceCount?: number; /** * @remarks * The default instance name prefix. The prefix must be 2 to 50 characters in length and can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). The prefix must start with a letter and cannot start with a digit, a special character, `http://`, or `https://`. * * If you use the activation code that is created by calling the CreateActivation operation to register managed instances, the instances are assigned sequential names that include the value of this parameter as a prefix. You can also specify a new instance name to replace the assigned sequential name when you register a managed instance. * * If you specify InstanceName when you register a managed instance, an instance name in the `-` format is generated. The number of digits in the \\ value varies based on the number of digits in the `InstanceCount` value. Example: `001`. If you do not specify InstanceName, the hostname (Hostname) is used as the instance name. * * @example * test-InstanceName */ instanceName?: string; /** * @remarks * The IP addresses of hosts that can use the activation code. The value can be IPv4 addresses, IPv6 addresses, or CIDR blocks. * * @example * 0.0.0.0/0 */ ipAddressRange?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. Supported regions: China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), Singapore, Japan (Tokyo), US (Silicon Valley), and US (Virginia). 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 activation code. * * @example * rg-123****** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the activation code. */ tag?: CreateActivationRequestTag[]; /** * @remarks * The validity period of the activation code. After the validity period ends, you can no longer use the activation code to register managed instances. Unit: hours. Valid values: 1 to 876576. 876576 hours is equal to 100 years. * * Default value: 4. * * @example * 4 */ timeToLiveInHours?: number; static names(): { [key: string]: string } { return { description: 'Description', instanceCount: 'InstanceCount', instanceName: 'InstanceName', ipAddressRange: 'IpAddressRange', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', timeToLiveInHours: 'TimeToLiveInHours', }; } static types(): { [key: string]: any } { return { description: 'string', instanceCount: 'number', instanceName: 'string', ipAddressRange: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CreateActivationRequestTag }, timeToLiveInHours: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateActivationResponseBody extends $tea.Model { /** * @remarks * The value of the activation code. The value is returned only once after the CreateActivation operation is called and cannot be queried afterward. Properly save the return value. * * @example * a-hz0ch3SwhOlE1234+Xo32lAZC**** */ activationCode?: string; /** * @remarks * The ID of the activation code. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F1234**** */ activationId?: string; /** * @remarks * The ID of the request. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F1234**** */ requestId?: string; static names(): { [key: string]: string } { return { activationCode: 'ActivationCode', activationId: 'ActivationId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { activationCode: 'string', activationId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateActivationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateActivationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateActivationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequest extends $tea.Model { launchConfiguration?: CreateAutoProvisioningGroupRequestLaunchConfiguration; /** * @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?: CreateAutoProvisioningGroupRequestDataDiskConfig[]; /** * @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 instances * * Spot: preemptible instances. * * 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; /** * @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?: CreateAutoProvisioningGroupRequestLaunchTemplateConfig[]; /** * @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 preemptible 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 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. */ resourcePoolOptions?: CreateAutoProvisioningGroupRequestResourcePoolOptions; /** * @remarks * The policy for creating preemptible 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 preemptible instance when it is interrupted. Valid values: * * * stop: stops the preemptible instance. * * terminate: releases the preemptible instance. * * Default value: terminate. * * @example * terminate */ spotInstanceInterruptionBehavior?: string; /** * @remarks * The number of preemptible 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 preemptible 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?: CreateAutoProvisioningGroupRequestSystemDiskConfig[]; /** * @remarks * The tags to add to the auto provisioning group. */ tag?: CreateAutoProvisioningGroupRequestTag[]; /** * @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 preemptible 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 } { return { launchConfiguration: 'LaunchConfiguration', autoProvisioningGroupName: 'AutoProvisioningGroupName', autoProvisioningGroupType: 'AutoProvisioningGroupType', clientToken: 'ClientToken', dataDiskConfig: 'DataDiskConfig', defaultTargetCapacityType: 'DefaultTargetCapacityType', description: 'Description', excessCapacityTerminationPolicy: 'ExcessCapacityTerminationPolicy', hibernationOptionsConfigured: 'HibernationOptionsConfigured', launchTemplateConfig: 'LaunchTemplateConfig', launchTemplateId: 'LaunchTemplateId', launchTemplateVersion: 'LaunchTemplateVersion', maxSpotPrice: 'MaxSpotPrice', minTargetCapacity: 'MinTargetCapacity', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', payAsYouGoAllocationStrategy: 'PayAsYouGoAllocationStrategy', payAsYouGoTargetCapacity: 'PayAsYouGoTargetCapacity', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourcePoolOptions: 'ResourcePoolOptions', spotAllocationStrategy: 'SpotAllocationStrategy', spotInstanceInterruptionBehavior: 'SpotInstanceInterruptionBehavior', spotInstancePoolsToUseCount: 'SpotInstancePoolsToUseCount', spotTargetCapacity: 'SpotTargetCapacity', systemDiskConfig: 'SystemDiskConfig', tag: 'Tag', terminateInstances: 'TerminateInstances', terminateInstancesWithExpiration: 'TerminateInstancesWithExpiration', totalTargetCapacity: 'TotalTargetCapacity', validFrom: 'ValidFrom', validUntil: 'ValidUntil', }; } static types(): { [key: string]: any } { return { launchConfiguration: CreateAutoProvisioningGroupRequestLaunchConfiguration, autoProvisioningGroupName: 'string', autoProvisioningGroupType: 'string', clientToken: 'string', dataDiskConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestDataDiskConfig }, defaultTargetCapacityType: 'string', description: 'string', excessCapacityTerminationPolicy: 'string', hibernationOptionsConfigured: 'boolean', launchTemplateConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestLaunchTemplateConfig }, launchTemplateId: 'string', launchTemplateVersion: 'string', maxSpotPrice: 'number', minTargetCapacity: 'string', ownerAccount: 'string', ownerId: 'number', payAsYouGoAllocationStrategy: 'string', payAsYouGoTargetCapacity: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourcePoolOptions: CreateAutoProvisioningGroupRequestResourcePoolOptions, spotAllocationStrategy: 'string', spotInstanceInterruptionBehavior: 'string', spotInstancePoolsToUseCount: 'number', spotTargetCapacity: 'string', systemDiskConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestSystemDiskConfig }, tag: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestTag }, terminateInstances: 'boolean', terminateInstancesWithExpiration: 'boolean', totalTargetCapacity: 'string', validFrom: 'string', validUntil: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupShrinkRequest extends $tea.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 instances * * Spot: preemptible instances. * * 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; /** * @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 preemptible 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 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 preemptible 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 preemptible instance when it is interrupted. Valid values: * * * stop: stops the preemptible instance. * * terminate: releases the preemptible instance. * * Default value: terminate. * * @example * terminate */ spotInstanceInterruptionBehavior?: string; /** * @remarks * The number of preemptible 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 preemptible 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 preemptible 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 } { return { launchConfiguration: 'LaunchConfiguration', autoProvisioningGroupName: 'AutoProvisioningGroupName', autoProvisioningGroupType: 'AutoProvisioningGroupType', clientToken: 'ClientToken', dataDiskConfig: 'DataDiskConfig', defaultTargetCapacityType: 'DefaultTargetCapacityType', description: 'Description', excessCapacityTerminationPolicy: 'ExcessCapacityTerminationPolicy', hibernationOptionsConfigured: 'HibernationOptionsConfigured', launchTemplateConfig: 'LaunchTemplateConfig', launchTemplateId: 'LaunchTemplateId', launchTemplateVersion: 'LaunchTemplateVersion', maxSpotPrice: 'MaxSpotPrice', minTargetCapacity: 'MinTargetCapacity', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', payAsYouGoAllocationStrategy: 'PayAsYouGoAllocationStrategy', payAsYouGoTargetCapacity: 'PayAsYouGoTargetCapacity', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourcePoolOptionsShrink: 'ResourcePoolOptions', spotAllocationStrategy: 'SpotAllocationStrategy', spotInstanceInterruptionBehavior: 'SpotInstanceInterruptionBehavior', spotInstancePoolsToUseCount: 'SpotInstancePoolsToUseCount', spotTargetCapacity: 'SpotTargetCapacity', systemDiskConfig: 'SystemDiskConfig', tag: 'Tag', terminateInstances: 'TerminateInstances', terminateInstancesWithExpiration: 'TerminateInstancesWithExpiration', totalTargetCapacity: 'TotalTargetCapacity', validFrom: 'ValidFrom', validUntil: 'ValidUntil', }; } static types(): { [key: string]: any } { return { launchConfiguration: CreateAutoProvisioningGroupShrinkRequestLaunchConfiguration, autoProvisioningGroupName: 'string', autoProvisioningGroupType: 'string', clientToken: 'string', dataDiskConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupShrinkRequestDataDiskConfig }, defaultTargetCapacityType: 'string', description: 'string', excessCapacityTerminationPolicy: 'string', hibernationOptionsConfigured: 'boolean', launchTemplateConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupShrinkRequestLaunchTemplateConfig }, launchTemplateId: 'string', launchTemplateVersion: 'string', maxSpotPrice: 'number', minTargetCapacity: 'string', ownerAccount: 'string', ownerId: 'number', payAsYouGoAllocationStrategy: 'string', payAsYouGoTargetCapacity: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourcePoolOptionsShrink: 'string', spotAllocationStrategy: 'string', spotInstanceInterruptionBehavior: 'string', spotInstancePoolsToUseCount: 'number', spotTargetCapacity: 'string', systemDiskConfig: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupShrinkRequestSystemDiskConfig }, tag: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupShrinkRequestTag }, terminateInstances: 'boolean', terminateInstancesWithExpiration: 'boolean', totalTargetCapacity: 'string', validFrom: 'string', validUntil: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupResponseBody extends $tea.Model { /** * @remarks * The ID of the auto provisioning group. * * @example * apg-sn54avj8htgvtyh8**** */ autoProvisioningGroupId?: string; /** * @remarks * The instances created by the auto provisioning group. The values of the parameters in this array are returned only when AutoProvisioningGroupType is set to `instant`. */ launchResults?: CreateAutoProvisioningGroupResponseBodyLaunchResults; /** * @remarks * The ID of the request. * * @example * 745CEC9F-0DD7-4451-9FE7-8B752F39**** */ requestId?: string; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', launchResults: 'LaunchResults', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', launchResults: CreateAutoProvisioningGroupResponseBodyLaunchResults, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateAutoProvisioningGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateAutoProvisioningGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyRequest extends $tea.Model { /** * @remarks * The retention period of the snapshot copy in the destination region. Unit: days. Valid values: * * * \\-1: The snapshot copy is retained until it is deleted. * * 1 to 65535: The snapshot copy is retained for the specified number of days. After the retention period of the snapshot copy expires, the snapshot copy is automatically deleted. * * Default value: -1. * * @example * 30 */ copiedSnapshotsRetentionDays?: number; /** * @remarks * The encryption parameters for cross-region snapshot replication. */ copyEncryptionConfiguration?: CreateAutoSnapshotPolicyRequestCopyEncryptionConfiguration; /** * @remarks * Specifies whether to enable cross-region replication for snapshots. * * * true * * false * * @example * false */ enableCrossRegionCopy?: boolean; ownerId?: number; /** * @remarks * The resource group ID. * * @example * rg-aek2kkmhmhs**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is not publicly available. * * @example * null */ storageLocationArn?: string; /** * @remarks * The tags to add to the automatic snapshot policy. */ tag?: CreateAutoSnapshotPolicyRequestTag[]; /** * @remarks * The destination region to which to copy the snapshot. You can specify only a single destination region. * * @example * ["cn-hangzhou"] */ targetCopyRegions?: string; /** * @remarks * The name of the automatic snapshot policy. 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 (-). * * By default, this parameter is left empty. * * @example * TestName */ autoSnapshotPolicyName?: string; /** * @remarks * The ID of the region in which to create the automatic snapshot policy. 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 days of the week on which to create automatic snapshots. Valid values: 1 to 7, which correspond to Monday to Sunday. 1 indicates Monday. Format description: * * * Set this parameter to a JSON-formatted array. For example, a value of ["1"] specifies automatic snapshots to be created every Monday. * * To schedule multiple automatic snapshots to be created in a week, you can specify multiple values. Separate the values with commas (,). You can specify a maximum of seven days. For example, a value of ["1","3","5"] specifies automatic snapshots to be created every Monday, Wednesday, and Friday. * * This parameter is required. * * @example * ["1","2"] */ repeatWeekdays?: string; /** * @remarks * The retention period of the automatic snapshot. Unit: days. Valid values: * * * \\-1: The automatic snapshot is retained until it is deleted. * * 1 to 65535: The automatic snapshot is retained for the specified number of days. After the retention period of the automatic snapshot expires, the automatic snapshot is automatically deleted. * * Default value: -1. * * This parameter is required. * * @example * 30 */ retentionDays?: number; /** * @remarks * The points in time of the day at which to create automatic snapshots. The time must be in UTC+8. Unit: hours. Valid values: 0 to 23, which correspond to the 24 on-the-hour points in time from 00:00:00 to 23:00:00. 1 indicates 01:00:00. Format description: * * * Set this parameter to a JSON-formatted array. For example, a value of ["1"] specifies automatic snapshots to be created at 01:00:00. * * To schedule multiple automatic snapshots to be created in a day, you can specify multiple values. Separate the values with commas (,). You can specify a maximum of 24 points in time. For example, a value of ["1","3","5"] specifies automatic snapshots to be created at 01:00:00, 03:00:00, and 05:00:00. * * This parameter is required. * * @example * ["0", "1", … "23"] */ timePoints?: string; static names(): { [key: string]: string } { return { copiedSnapshotsRetentionDays: 'CopiedSnapshotsRetentionDays', copyEncryptionConfiguration: 'CopyEncryptionConfiguration', enableCrossRegionCopy: 'EnableCrossRegionCopy', ownerId: 'OwnerId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageLocationArn: 'StorageLocationArn', tag: 'Tag', targetCopyRegions: 'TargetCopyRegions', autoSnapshotPolicyName: 'autoSnapshotPolicyName', regionId: 'regionId', repeatWeekdays: 'repeatWeekdays', retentionDays: 'retentionDays', timePoints: 'timePoints', }; } static types(): { [key: string]: any } { return { copiedSnapshotsRetentionDays: 'number', copyEncryptionConfiguration: CreateAutoSnapshotPolicyRequestCopyEncryptionConfiguration, enableCrossRegionCopy: 'boolean', ownerId: 'number', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageLocationArn: 'string', tag: { 'type': 'array', 'itemType': CreateAutoSnapshotPolicyRequestTag }, targetCopyRegions: 'string', autoSnapshotPolicyName: 'string', regionId: 'string', repeatWeekdays: 'string', retentionDays: 'number', timePoints: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyResponseBody extends $tea.Model { /** * @remarks * The automatic snapshot policy ID. * * @example * sp-bp12m37ccmxvbmi5**** */ autoSnapshotPolicyId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateAutoSnapshotPolicyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateAutoSnapshotPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCapacityReservationRequest extends $tea.Model { privatePoolOptions?: CreateCapacityReservationRequestPrivatePoolOptions; /** * @remarks * The client token that is used to ensure the idempotency 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 description of the capacity reservation. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * This parameter is empty by default. * * @example * This is description. */ description?: string; /** * @remarks * The time when the capacity reservation expires. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC. For more information, see [ISO 8601](https://help.aliyun.com/document_detail/25696.html). * * @example * 2021-10-30T06:32:00Z */ endTime?: string; /** * @remarks * The release mode of the capacity reservation. Valid values: * * * Limited: The capacity reservation is automatically released at a specified time. If you specify this parameter, you must specify the `EndTime` parameter. * * Unlimited: The capacity reservation is manually released. The capacity reservation can be released anytime. * * @example * Unlimited */ endTimeType?: string; /** * @remarks * The total number of instances for which the capacity of an instance type is reserved. * * This parameter is required. * * @example * 2 */ instanceAmount?: number; /** * @remarks * The instance type. You can create a capacity reservation to reserve the capacity of only one instance type. You can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the instance types provided by ECS. * * This parameter is required. * * @example * ecs.g6.xlarge */ instanceType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The operating system of the image used by the instance. This parameter corresponds to the `Platform` parameter of regional reserved instances. If the operating system of a capacity reservation matches the operating system of a regional reserved instance, you can apply the regional reserved instance to offset fees of the unused capacity of the capacity reservation. Valid values: * * * Windows: Windows Server operating system * * Linux: Linux and UNIX-like operating system * * Default value: Linux. * * > This parameter is unavailable. * * @example * Linux */ platform?: string; /** * @remarks * The ID of the region in which to create the capacity reservation. 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 you want to assign the capacity reservation. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The mode in which the capacity reservation takes effect. You can call the CreateCapacityReservation operation to create only immediate capacity reservations. * * > If you do not specify this parameter, the capacity reservation immediately takes effect. * * @example * 2021-10-30T05:32:00Z */ startTime?: string; /** * @remarks * The tags to add to the capacity reservation. */ tag?: CreateCapacityReservationRequestTag[]; /** * @remarks * The ID of the zone in which you want to create the capacity reservation. A capacity reservation can reserve resources within only one zone. * * This parameter is required. * * @example * cn-hangzhou-h */ zoneId?: string[]; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', clientToken: 'ClientToken', description: 'Description', endTime: 'EndTime', endTimeType: 'EndTimeType', instanceAmount: 'InstanceAmount', instanceType: 'InstanceType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: CreateCapacityReservationRequestPrivatePoolOptions, clientToken: 'string', description: 'string', endTime: 'string', endTimeType: 'string', instanceAmount: 'number', instanceType: 'string', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', tag: { 'type': 'array', 'itemType': CreateCapacityReservationRequestTag }, zoneId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCapacityReservationResponseBody extends $tea.Model { /** * @remarks * The capacity reservation ID. * * @example * crp-bp67acfmxazb4**** */ privatePoolOptionsId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { privatePoolOptionsId: 'PrivatePoolOptionsId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { privatePoolOptionsId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCapacityReservationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateCapacityReservationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateCapacityReservationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCommandRequest extends $tea.Model { /** * @remarks * The Base64-encoded content of the command. Take note of the following items: * * * The value must be Base64-encoded and cannot exceed 18 KB in size. * * * You can use custom parameters in the command content. To enable the custom parameter feature, you must set `EnableParameter` to true. * * * Custom parameters are defined in the `{{}}` format. Within `{{}}`, the spaces and line feeds before and after the parameter names are ignored. * * You can specify up to 20 custom parameters. * * A custom parameter name can contain only letters, digits, underscores (_), and hyphens (-). The name is case-insensitive. The ACS:: prefix cannot be used to specify non-built-in environment parameters. * * Each custom parameter name can be up to 64 bytes in length. * * * You can specify built-in environment parameters as custom parameters in a command. When you run the command, Cloud Assistant automatically uses the environment parameter values for the custom parameters. You can specify the following built-in environment variables: * * * `{{ACS::RegionId}}`: the region ID. * * * `{{ACS::AccountId}}`: the UID of the Alibaba Cloud account. * * * `{{ACS::InstanceId}}`: the instance ID. If you want to run the command on multiple instances and specify `{{ACS::InstanceId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following versions: * * * Linux: 2.2.3.309 * * Windows: 2.1.3.309 * * * `{{ACS::InstanceName}}`: the instance name. If you want to run the command on multiple instances and specify `{{ACS::InstanceName}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following versions: * * * Linux: 2.2.3.344 * * Windows: 2.1.3.344 * * * `{{ACS::InvokeId}}`: the ID of the task. If you want to specify `{{ACS::InvokeId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following versions: * * * Linux: 2.2.3.309 * * Windows: 2.1.3.309 * * * `{{ACS::CommandId}}`: the command ID. If you want to call the [RunCommand](https://help.aliyun.com/document_detail/141751.html) operation to run the command and specify `{{ACS::CommandId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following versions: * * * Linux: 2.2.3.309 * * Windows: 2.1.3.309 * * This parameter is required. * * @example * ZWNobyAxMjM= */ commandContent?: string; /** * @remarks * The encoding mode of the command content (CommandContent). Valid values: * * * PlainText: The command content is not encoded. * * Base64: The command content is Base64-encoded. * * Default value: Base64. * * > If the specified value of this parameter is invalid, Base64 is used by default. * * @example * PlainText */ contentEncoding?: string; /** * @remarks * The description of the command. The description supports all character sets and can be up to 512 characters in length. * * @example * testDescription */ description?: string; /** * @remarks * Specifies whether to use custom parameters in the command. * * Default value: false. * * @example * false */ enableParameter?: boolean; launcher?: string; /** * @remarks * The name of the command. The name supports all character sets and can be up to 128 characters in length. * * This parameter is required. * * @example * testName */ name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region in which to create the command. 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 command. * * @example * rg-123****** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the command. */ tag?: CreateCommandRequestTag[]; /** * @remarks * he maximum timeout period for the command execution on the instance. Unit: seconds. When a command that you created cannot be run, the command times out. When a command execution times out, Cloud Assistant Agent forcefully terminates the command process by canceling the PID. * * Default value: 60. * * @example * 60 */ timeout?: number; /** * @remarks * The command type. Valid values: * * * RunBatScript: batch commands. These commands are applicable to Windows instances. * * RunPowerShellScript: PowerShell commands. These commands are applicable to Windows instances. * * RunShellScript: shell commands. These commands are applicable to Linux instances. * * This parameter is required. * * @example * RunShellScript */ type?: string; /** * @remarks * The execution path of the command on ECS instances. The value can be up to 200 characters in length. * * Default values: * * * For Linux instance, the default value is the home directory of the root user, which is the `/root` directory. * * For Windows instances, the default value is the directory where the Cloud Assistant Agent process resides, such as `C:\\Windows\\System32\\`. * * > If you set WorkingDir to a directory other than default ones, make sure that the directory exists on the instances. * * @example * /root/ */ workingDir?: string; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', contentEncoding: 'ContentEncoding', description: 'Description', enableParameter: 'EnableParameter', launcher: 'Launcher', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', timeout: 'Timeout', type: 'Type', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { commandContent: 'string', contentEncoding: 'string', description: 'string', enableParameter: 'boolean', launcher: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CreateCommandRequestTag }, timeout: 'number', type: 'string', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCommandResponseBody extends $tea.Model { /** * @remarks * The ID of the command. * * @example * c-7d2a745b412b4601b2d47f6a768d**** */ commandId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { commandId: 'CommandId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { commandId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCommandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateCommandResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateCommandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDedicatedHostClusterRequest extends $tea.Model { /** * @remarks * The name of the dedicated host cluster. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * This parameter is left empty by default. * * @example * myDDHCluster */ dedicatedHostClusterName?: string; /** * @remarks * The description of the dedicated host cluster. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * This parameter is left empty by default. * * @example * This-is-my-DDHCluster */ description?: string; /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized Resource Access Management (RAM) users, and missing parameter values. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * Default value: false. * * @example * false */ dryRun?: boolean; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region in which to create the dedicated host cluster. 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 dedicated host cluster. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the dedicated host cluster. */ tag?: CreateDedicatedHostClusterRequestTag[]; /** * @remarks * The ID of the zone in which to create the dedicated host cluster. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * This parameter is required. * * @example * cn-hangzhou-f */ zoneId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterName: 'DedicatedHostClusterName', description: 'Description', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterName: 'string', description: 'string', dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CreateDedicatedHostClusterRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDedicatedHostClusterResponseBody extends $tea.Model { /** * @remarks * The ID of the dedicated host cluster. * * @example * dc-bp12wlf6bw0vz9v2**** */ dedicatedHostClusterId?: string; /** * @remarks * The request ID. * * @example * E2A664A6-2933-4C64-88AE-5033D003**** */ requestId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDedicatedHostClusterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDedicatedHostClusterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDedicatedHostClusterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDemandRequest extends $tea.Model { /** * @remarks * The number of instances. Valid values: 1 to 100000. * * This parameter is required. * * @example * 2 */ amount?: number; /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests. The value of `ClientToken` 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 * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ clientToken?: string; /** * @remarks * The description of the demand. The description must be 2 to 256 characters in length and cannot start with [http:// or https://](http://https://。). * * @example * k8s-node-demand-desc */ demandDescription?: string; /** * @remarks * The name of the demand. The name must be 2 to 128 characters in length. The name must start with a letter but cannot start with [http:// or https://](http://https://). It can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * The default value is the instance type name. * * @example * k8s-node-demand */ demandName?: string; /** * @remarks * The end time of the subscription period. Specify the time in the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-dd HH:mm:ss format. The time must be in UTC. * * If the value of seconds (ss) is not 00, the time is automatically set to the beginning of the specified minute (mm). The value of EndTime is later than the value of Starttime. In most cases, the interval between the two times cannot be more than 10 days. * * This parameter is required. * * @example * 2019-12-10 12:05:00 */ endTime?: string; /** * @remarks * The billing method of the instance. Valid values: * * * PrePaid: subscription * * PostPaid: pay-as-you-go. This is the default value. * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The instance type. See [Instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the performance data of an instance type, or see [Select instance types](https://help.aliyun.com/document_detail/58291.html) to learn how to select instance types. * * This parameter is required. * * @example * ecs.c6.large */ instanceType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The subscription period of the resource. Valid values: * * * Valid values when the value of PeriodUnit is Day: 1, 2, 3, 4, 5, and 6. * * Valid values when the value of PeriodUnit is Week: 1, 2, 3, and 4. * * Valid values when the value of PeriodUnit is Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * * This parameter is required. * * @example * 1 */ period?: number; /** * @remarks * The unit of the subscription period. Valid values: * * * Day * * Week * * Month. This is the default value. * * This parameter is required. * * @example * Month */ periodUnit?: string; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The start time of the subscription period. Specify the time in the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-dd HH:mm:ss format. The time must be in UTC. * * If the value of seconds (ss) is not 00, the time is automatically set to the beginning of the specified minute (mm). The value of EndTime must be later than the value of Starttime. In most cases, the interval between the two times cannot be more than 10 days. * * This parameter is required. * * @example * 2019-12-01 12:05:00 */ startTime?: string; /** * @remarks * The zone ID of the instance. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * This parameter is empty by default. If you leave this parameter empty, the system randomly selects a zone. * * This parameter is required. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { amount: 'Amount', clientToken: 'ClientToken', demandDescription: 'DemandDescription', demandName: 'DemandName', endTime: 'EndTime', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { amount: 'number', clientToken: 'string', demandDescription: 'string', demandName: 'string', endTime: 'string', instanceChargeType: 'string', instanceType: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDemandResponseBody extends $tea.Model { /** * @remarks * The ID of the demand. * * @example * ed-bp11n21kq00sl71p**** */ demandId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { demandId: 'DemandId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { demandId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDemandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDemandResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDemandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDeploymentSetRequest extends $tea.Model { /** * @remarks * The description of the deployment set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The name of the deployment set. 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 digits, letters, colons (:), underscores (_), and hyphens (-). * * @example * testDeploymentSetName */ deploymentSetName?: string; /** * @remarks * The emergency solution to use in the situation where instances in the deployment set cannot be evenly distributed to different zones due to resource insufficiency after the instances failover. Valid values: * * * CancelMembershipAndStart: removes the instances from the deployment set and starts the instances immediately after they are failed over. * * KeepStopped: leaves the instances in the Stopped state and starts them after resources are replenished. * * Default value: CancelMembershipAndStart. * * @example * testDescription */ description?: string; /** * @remarks * > This parameter is deprecated. * * @example * Default */ domain?: string; /** * @remarks * > This parameter is deprecated. * * @example * host */ granularity?: string; /** * @remarks * The deployment strategy. Valid values: * * * Availability: high availability strategy. * * AvailabilityGroup: high availability group strategy. * * Default value: Availability. * * @example * 1 */ groupCount?: number; /** * @remarks * The region ID of the deployment set. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * @example * CancelMembershipAndStart */ onUnableToRedeployFailedInstance?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Creates a deployment set in a specific region. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The deployment strategy. Valid values: * * * Availability: high availability strategy * * AvailabilityGroup: high availability group strategy * * LowLatency: low latency strategy * * Default value: Availability. * * @example * Availability */ strategy?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', deploymentSetName: 'DeploymentSetName', description: 'Description', domain: 'Domain', granularity: 'Granularity', groupCount: 'GroupCount', onUnableToRedeployFailedInstance: 'OnUnableToRedeployFailedInstance', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', strategy: 'Strategy', }; } static types(): { [key: string]: any } { return { clientToken: 'string', deploymentSetName: 'string', description: 'string', domain: 'string', granularity: 'string', groupCount: 'number', onUnableToRedeployFailedInstance: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', strategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDeploymentSetResponseBody extends $tea.Model { /** * @remarks * The ID of the deployment set. * * @example * ds-bp1frxuzdg87zh4pzq**** */ deploymentSetId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { deploymentSetId: 'DeploymentSetId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { deploymentSetId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDeploymentSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDeploymentSetResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDeploymentSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticMetricSetRequest extends $tea.Model { /** * @remarks * testDescription * * @example * The ID of the request. */ description?: string; /** * @remarks * The ID of diagnostic metric. * * This parameter is required. */ metricIds?: string[]; /** * @remarks * my_dms * * @example * The IDs of diagnostic metrics. You can specify up to 100 diagnostic metric IDs. */ metricSetName?: string; /** * @remarks * The type of the resource. * * Default value: instance. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The name of the diagnostic metric set. * * This parameter is required. * * @example * instance */ resourceType?: string; static names(): { [key: string]: string } { return { description: 'Description', metricIds: 'MetricIds', metricSetName: 'MetricSetName', regionId: 'RegionId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { description: 'string', metricIds: { 'type': 'array', 'itemType': 'string' }, metricSetName: 'string', regionId: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticMetricSetResponseBody extends $tea.Model { /** * @example * dms-o7ymuutup5l***** */ metricSetId?: string; /** * @remarks * The ID of the diagnostic metric set, which is the unique identifier of the set. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { metricSetId: 'MetricSetId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { metricSetId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticMetricSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDiagnosticMetricSetResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDiagnosticMetricSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticReportRequest extends $tea.Model { /** * @remarks * The end of the reporting period. This parameter takes effect only for diagnostic metrics that do not need to be assessed by running Cloud Assistant commands in guest operating systems. * * @example * 2022-07-11T14:00:00Z */ endTime?: string; /** * @remarks * The ID of the diagnostic metric set. If this parameter is left empty, the dms-instancedefault set is used, which is the default diagnostic metric set provided for Elastic Compute Service (ECS) instances. * * @example * dms-uf6i0tv2refv8wz***** */ metricSetId?: string; /** * @remarks * The ID of the region in which to create a diagnostic report. 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. * * This parameter is required. * * @example * i-uf6i0tv2refv8wz***** */ resourceId?: string; /** * @remarks * The beginning of the reporting period. This parameter takes effect only for diagnostic metrics that do not need to be assessed by running Cloud Assistant commands in guest operating systems. * * @example * 2022-07-11T12:00:00Z */ startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', metricSetId: 'MetricSetId', regionId: 'RegionId', resourceId: 'ResourceId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', metricSetId: 'string', regionId: 'string', resourceId: 'string', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticReportResponseBody extends $tea.Model { /** * @remarks * The ID of the diagnostic report, which is the unique identifier of the report. * * @example * dr-uf6i0tv2refv8wz***** */ reportId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { reportId: 'ReportId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { reportId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiagnosticReportResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDiagnosticReportResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDiagnosticReportResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiskRequest extends $tea.Model { /** * @remarks * This parameter is not publicly available. * * @example * hide */ advancedFeatures?: string; /** * @remarks * This parameter is not publicly available. */ arn?: CreateDiskRequestArn[]; /** * @remarks * Specifies whether to enable the performance burst feature. Valid values: * * * true * * false * * > This parameter is available only when DiskCategory is set to cloud_auto. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html). * * @example * false */ burstingEnabled?: boolean; /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * This parameter is left empty by default. * * @example * testDescription */ description?: string; /** * @remarks * The category of the data disk. Valid values: * * * cloud: basic disk * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * cloud_essd: ESSD * * cloud_auto: ESSD AutoPL disk * * cloud_essd_entry: ESSD Entry disk * * elastic_ephemeral_disk_standard: standard elastic ephemeral disk * * elastic_ephemeral_disk_premium: premium elastic ephemeral disk * * Default value: cloud. * * @example * cloud_ssd */ diskCategory?: string; /** * @remarks * The name of the disk. The name must be 2 to 128 characters in length and can contain letters and digits. The name can contain colons (:), underscores (_), periods (.), and hyphens (-). * * This parameter is left empty by default. * * @example * testDiskName */ diskName?: string; /** * @remarks * This parameter is not publicly available. * * @example * hide */ encryptAlgorithm?: string; /** * @remarks * Specifies whether to encrypt the disk. Valid values: * * * true * * false * * Default value: false. * * @example * false */ encrypted?: boolean; /** * @remarks * The ID of the subscription instance to which to attach the subscription disk. * * * If you specify an instance ID, the following parameters are ignored: ResourceGroupId, Tag.N.Key, Tag.N.Value, ClientToken, and KMSKeyId. * * You cannot specify both ZoneId and InstanceId in a request. * * This parameter is empty by default, which indicates that a pay-as-you-go disk is created in the region and zone specified by RegionId and ZoneId. * * @example * i-bp18pnlg1ds9rky4**** */ instanceId?: string; /** * @remarks * The ID of the Key Management Service (KMS) key that is used for the disk. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40826X */ KMSKeyId?: string; /** * @remarks * Specifies whether to enable the multi-attach feature for the disk. Valid values: * * * Disabled * * Enabled Set the value to `Enabled` only for ESSDs. * * Default value: Disabled. * * > Disks for which the multi-attach feature is enabled support only the pay-as-you-go billing method. When `MultiAttach` is set to Enabled, you cannot specify `InstanceId`. You can call the [AttachDisk](https://help.aliyun.com/document_detail/25515.html) operation to attach disks to instances after the disks are created. Disks for which the multi-attach feature is enabled can be attached only as data disks. * * @example * Disabled */ multiAttach?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The performance level of the disk if the disk is an ESSD. Valid values: * * * PL0: 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. * * Default value: PL1. * * For information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/document_detail/122389.html). * * @example * PL1 */ performanceLevel?: string; /** * @remarks * The provisioned read/write IOPS of the ESSD AutoPL 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 when DiskCategory is set to cloud_auto. For more information, see [ESSD AutoPL disks](https://help.aliyun.com/document_detail/368372.html). * * @example * 40000 */ provisionedIops?: number; /** * @remarks * The ID of the region in which to create the disk. 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 add the disk. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The size of the disk. Unit: GiB. This parameter is required. Valid values: * * * Valid values when DiskCategory is set to cloud: 5 to 2000. * * * Valid values when DiskCategory is set to cloud_efficiency: 20 to 32768. * * * Valid values when DiskCategory is set to cloud_ssd: 20 to 32768. * * * Valid values when DiskCategory is set to cloud_essd: vary based on the `PerformanceLevel` value. * * * Valid values when PerformanceLevel is set to PL0: 1 to 65536. * * Valid values when PerformanceLevel is set to PL1: 20 to 65536. * * Valid values when PerformanceLevel is set to PL2: 461 to 65536. * * Valid values when PerformanceLevel is set to PL3: 1261 to 65536. * * * Valid values when DiskCategory is set to cloud_auto: 1 to 65536. * * * Valid values when DiskCategory is set to cloud_essd_entry: 10 to 32768. * * * Valid values when DiskCategory is set to elastic_ephemeral_disk_standard: 64 to 8192. * * * Valid values when DiskCategory is set to elastic_ephemeral_disk_premium: 64 to 8192. * * If `SnapshotId` is specified, the following limits apply to `SnapshotId` and `Size`: * * * If the size of the snapshot specified by `SnapshotId` is larger than the value of `Size`, the size of the created disk is equal to the size of the snapshot. * * If the size of the snapshot specified by `SnapshotId` is smaller than the value of `Size`, the size of the created disk is equal to the value of `Size`. * * @example * 2000 */ size?: number; /** * @remarks * The ID of the snapshot to use to create the disk. Snapshots that were created on or before July 15, 2013 cannot be used to create disks. * * The following limits apply to `SnapshotId` and `Size`: * * * If the size of the snapshot specified by `SnapshotId` is larger than the value of `Size`, the size of the created disk is equal to the specified snapshot size. * * If the size of the snapshot specified by `SnapshotId` is smaller than the value of `Size`, the size of the created disk is equal to the value of `Size`. * * You cannot create elastic ephemeral disks from snapshots. * * @example * s-bp67acfmxazb4p**** */ snapshotId?: string; /** * @remarks * The ID of the dedicated block storage cluster in which to create the disk. To create a disk in a specific dedicated block storage cluster, you must specify this parameter. * * > You can specify the storage set-related parameters (`StorageSetId` and `StorageSetPartitionNumber`) or the dedicated block storage cluster-related parameter (`StorageClusterId`), but not both. If you specify a storage set-related parameter and a dedicated block storage cluster-related parameter in a request, the request fails. * * @example * dbsc-j5e1sf2vaf5he8m2**** */ storageClusterId?: string; /** * @remarks * The ID of the storage set. * * > You cannot specify storage set-related parameters (`StorageSetId` and `StorageSetPartitionNumber`) and the dedicated block storage cluster-related parameter (`StorageClusterId`) at the same time. Otherwise, the operation cannot be called. * * @example * ss-bp67acfmxazb4p**** */ storageSetId?: string; /** * @remarks * The number of partitions in the storage set. The value must be greater than or equal to 2 but cannot exceed the quota obtained by calling the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html)operation. * * Default value: 2. * * @example * 3 */ storageSetPartitionNumber?: number; /** * @remarks * The tags to add to the disk. */ tag?: CreateDiskRequestTag[]; /** * @remarks * The ID of the zone in which to create the pay-as-you-go disk. * * * If you do not specify InstanceId, you must specify ZoneId. * * You cannot specify both ZoneId and InstanceId in a request. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { advancedFeatures: 'AdvancedFeatures', arn: 'Arn', burstingEnabled: 'BurstingEnabled', clientToken: 'ClientToken', description: 'Description', diskCategory: 'DiskCategory', diskName: 'DiskName', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', instanceId: 'InstanceId', KMSKeyId: 'KMSKeyId', multiAttach: 'MultiAttach', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', size: 'Size', snapshotId: 'SnapshotId', storageClusterId: 'StorageClusterId', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { advancedFeatures: 'string', arn: { 'type': 'array', 'itemType': CreateDiskRequestArn }, burstingEnabled: 'boolean', clientToken: 'string', description: 'string', diskCategory: 'string', diskName: 'string', encryptAlgorithm: 'string', encrypted: 'boolean', instanceId: 'string', KMSKeyId: 'string', multiAttach: 'string', ownerAccount: 'string', ownerId: 'number', performanceLevel: 'string', provisionedIops: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', size: 'number', snapshotId: 'string', storageClusterId: 'string', storageSetId: 'string', storageSetPartitionNumber: 'number', tag: { 'type': 'array', 'itemType': CreateDiskRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiskResponseBody extends $tea.Model { /** * @remarks * The disk ID. * * @example * d-bp131n0q38u3a4zi**** */ diskId?: string; /** * @remarks * The order ID. * * > The order ID is returned only when you create a subscription disk. * * @example * 20413515388**** */ orderId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { diskId: 'DiskId', orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { diskId: 'string', orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateDiskResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateElasticityAssuranceRequest extends $tea.Model { privatePoolOptions?: CreateElasticityAssuranceRequestPrivatePoolOptions; /** * @remarks * The total number of times that the elasticity assurance can be applied. Set the value to Unlimited. This value indicates that the elasticity assurance can be applied an unlimited number of times within its effective duration. * * Default value: Unlimited. * * @example * Unlimited */ assuranceTimes?: string; /** * @remarks * The client token that you want to use 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 description of the elasticity assurance. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`. * * This parameter is empty by default. * * @example * This is description. */ description?: string; /** * @remarks * The total number of instances for which to reserve capacity of an instance type. * * Valid values: 1 to 1000. * * @example * 2 */ instanceAmount?: number; /** * @remarks * > This parameter is no longer used. * * @example * null */ instanceCpuCoreCount?: number; /** * @remarks * The instance type. An elasticity assurance can be created to reserve the capacity of a single instance type. * * This parameter is required. * * @example * ecs.c6.xlarge */ instanceType?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The term of the elasticity assurance. The unit of the term is determined by the `PeriodUnit` value. Valid values: * * * When `PeriodUnit` is set to `Month`, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, and 9. * * When `PeriodUnit` is set to `Year`, the valid values are 1, 2, 3, 4, and 5. * * Default value: 1. * * @example * 1 */ period?: number; /** * @remarks * The unit of the term of the elasticity assurance. Valid values: * * * Month * * Year * * Default value: Year. * * @example * Year */ periodUnit?: string; /** * @remarks * The ID of the region in which to create the elasticity assurance. 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 elasticity assurance. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The time when the elasticity assurance takes effect. The default value is the time when the CreateElasticityAssurance operation is called to create the elasticity assurance. Specify the time in the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC. For more information, see [ISO 8601](https://help.aliyun.com/document_detail/25696.html). * * @example * 2020-10-30T06:32:00Z */ startTime?: string; /** * @remarks * The tags to add to the elasticity assurance. */ tag?: CreateElasticityAssuranceRequestTag[]; /** * @remarks * The ID of the zone in which to create the elasticity assurance. An elasticity assurance can be used to reserve resources within a single zone. * * This parameter is required. * * @example * cn-hangzhou-h */ zoneId?: string[]; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', assuranceTimes: 'AssuranceTimes', clientToken: 'ClientToken', description: 'Description', instanceAmount: 'InstanceAmount', instanceCpuCoreCount: 'InstanceCpuCoreCount', instanceType: 'InstanceType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: CreateElasticityAssuranceRequestPrivatePoolOptions, assuranceTimes: 'string', clientToken: 'string', description: 'string', instanceAmount: 'number', instanceCpuCoreCount: 'number', instanceType: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', tag: { 'type': 'array', 'itemType': CreateElasticityAssuranceRequestTag }, zoneId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateElasticityAssuranceResponseBody extends $tea.Model { /** * @remarks * The order ID. * * @example * 1234567890 */ orderId?: string; /** * @remarks * The elasticity assurance ID. * * @example * eap-bp67acfmxazb4**** */ privatePoolOptionsId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', privatePoolOptionsId: 'PrivatePoolOptionsId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', privatePoolOptionsId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateElasticityAssuranceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateElasticityAssuranceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateElasticityAssuranceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateForwardEntryRequest extends $tea.Model { /** * @remarks * This parameter is required. */ externalIp?: string; /** * @remarks * This parameter is required. */ externalPort?: string; /** * @remarks * This parameter is required. */ forwardTableId?: string; /** * @remarks * This parameter is required. */ internalIp?: string; /** * @remarks * This parameter is required. */ internalPort?: string; /** * @remarks * This parameter is required. */ ipProtocol?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { externalIp: 'ExternalIp', externalPort: 'ExternalPort', forwardTableId: 'ForwardTableId', internalIp: 'InternalIp', internalPort: 'InternalPort', ipProtocol: 'IpProtocol', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { externalIp: 'string', externalPort: 'string', forwardTableId: 'string', internalIp: 'string', internalPort: 'string', ipProtocol: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateForwardEntryResponseBody extends $tea.Model { forwardEntryId?: string; requestId?: string; static names(): { [key: string]: string } { return { forwardEntryId: 'ForwardEntryId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { forwardEntryId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateForwardEntryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateForwardEntryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateForwardEntryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHaVipRequest extends $tea.Model { clientToken?: string; description?: string; ipAddress?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ vSwitchId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', ipAddress: 'IpAddress', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', ipAddress: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHaVipResponseBody extends $tea.Model { haVipId?: string; requestId?: string; static names(): { [key: string]: string } { return { haVipId: 'HaVipId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { haVipId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHaVipResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateHaVipResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateHaVipResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHpcClusterRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate a client token. Make sure that a unique client token is used for each request. The **ClientToken** value 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the HPC cluster. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`. * * This parameter is empty by default. * * @example * testHPCDescription */ description?: string; /** * @remarks * The name of the HPC cluster. The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`. * * This parameter is required. * * @example * hpc-Cluster-01 */ name?: string; /** * @remarks * RAM用户的账号登录名称。 * * @example * ECSforCloud@Alibaba.com */ ownerAccount?: string; /** * @remarks * RAM用户的虚拟账号ID。 * * @example * 1234567890 */ ownerId?: number; /** * @remarks * The region ID of the HPC cluster. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * 资源主账号的账号名称。 * * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @remarks * 资源主账号的ID,亦即UID。 * * @example * 1234567890 */ resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHpcClusterResponseBody extends $tea.Model { /** * @remarks * The ID of cluster. * * @example * hpc-pnlg1ds9rky4**** */ hpcClusterId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { hpcClusterId: 'HpcClusterId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { hpcClusterId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateHpcClusterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateHpcClusterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateHpcClusterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageRequest extends $tea.Model { /** * @remarks * The system architecture of the system disk. If you specify a data disk snapshot to create the system disk of the custom image, you must use Architecture to specify the system architecture of the system disk. Valid values: * * * i386 * * x86_64 * * arm64 * * Default value: x86_64. * * @example * x86_64 */ architecture?: string; /** * @remarks * The boot mode of the image. Valid values: * * * BIOS: Basic Input/Output System (BIOS) * * UEFI: Unified Extensible Firmware Interface (UEFI) * * UEFI-Preferred: BIOS and UEFI * * > Before you change the boot mode of an image, we recommend that you get familiar with the boot modes supported by the image to ensure that instances created from the image can start as expected. If you do not know which boot modes are supported by the image, we recommend that you use the image check feature to perform a check. For information about the image check feature, see [Overview of image check](https://help.aliyun.com/document_detail/439819.html). * * > For information about the UEFI-Preferred boot mode, see [Best practices for ECS instance boot modes](https://help.aliyun.com/document_detail/2244655.html). * * @example * BIOS */ bootMode?: 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 value of **ClientToken** 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The image description. The description must be 2 to 256 characters in length and cannot start with [http:// or https://.](http://https://。) * * @example * ImageTestDescription */ description?: string; /** * @remarks * The mode in which to check the custom image. If you do not specify this parameter, the image is not checked. Only the standard check mode is supported. * * > This parameter is supported for most Linux and Windows operating system versions. For information about image check items and operating system limits for image check, see [Overview of image check](https://help.aliyun.com/document_detail/439819.html) and [Operating system limits for image check](https://help.aliyun.com/document_detail/475800.html). * * @example * Standard */ detectionStrategy?: string; /** * @remarks * The information about the custom image. */ diskDeviceMapping?: CreateImageRequestDiskDeviceMapping[]; /** * @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 acs: or aliyun. 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 name of the custom image. 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 * TestCentOS */ imageName?: string; /** * @remarks * The image version. * * > If you specify an instance by configuring `InstanceId`, and the instance uses an Alibaba Cloud Marketplace image or a custom image that is created from an Alibaba Cloud Marketplace image, you must leave this parameter empty or set this parameter to the value of ImageVersion of the instance. * * @example * 2017011017 */ imageVersion?: string; /** * @remarks * The instance ID. * * @example * i-bp1g6zv0ce8oghu7**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The operating system distribution for the system disk in the custom image. If you specify a data disk snapshot to create the system disk of the custom image, use Platform to specify the operating system distribution for the system disk. Valid values: * * * Aliyun * * Anolis * * CentOS * * Ubuntu * * CoreOS * * SUSE * * Debian * * OpenSUSE * * FreeBSD * * RedHat * * Kylin * * UOS * * Fedora * * Fedora CoreOS * * CentOS Stream * * AlmaLinux * * Rocky Linux * * Gentoo * * Customized Linux * * Others Linux * * Windows Server 2022 * * Windows Server 2019 * * Windows Server 2016 * * Windows Server 2012 * * Windows Server 2008 * * Windows Server 2003 * * Default value: Others Linux. * * @example * CentOS */ platform?: string; /** * @remarks * The region ID of the custom image that you want to create. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource group to which to assign the custom image. If you do not specify this parameter, the image is assigned to the default resource group. * * > If you call the CreateImage operation as a Resource Access Management (RAM) user who does not have the permissions to manage the default resource group and do not specify `ResourceGroupId`, the `Forbbiden: User not authorized to operate on the specified resource` error message is returned. You must specify the ID of a resource group that the RAM user has the permissions to manage or grant the RAM user the permissions to manage the default resource group before you call the CreateImage operation again. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the snapshot that you want to use to create the custom image. * * @example * s-bp17441ohwkdca0**** */ snapshotId?: string; /** * @remarks * The tags. */ tag?: CreateImageRequestTag[]; static names(): { [key: string]: string } { return { architecture: 'Architecture', bootMode: 'BootMode', clientToken: 'ClientToken', description: 'Description', detectionStrategy: 'DetectionStrategy', diskDeviceMapping: 'DiskDeviceMapping', imageFamily: 'ImageFamily', imageName: 'ImageName', imageVersion: 'ImageVersion', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotId: 'SnapshotId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { architecture: 'string', bootMode: 'string', clientToken: 'string', description: 'string', detectionStrategy: 'string', diskDeviceMapping: { 'type': 'array', 'itemType': CreateImageRequestDiskDeviceMapping }, imageFamily: 'string', imageName: 'string', imageVersion: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotId: 'string', tag: { 'type': 'array', 'itemType': CreateImageRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageResponseBody extends $tea.Model { /** * @remarks * The image ID. * * @example * m-bp146shijn7hujku**** */ imageId?: string; /** * @remarks * The request ID. * * @example * C8B26B44-0189-443E-9816-******* */ requestId?: string; static names(): { [key: string]: string } { return { imageId: 'ImageId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { imageId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageComponentRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotency 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The type of the image component. Only image build components are supported. Set the value to Build. * * Default value: Build. * * @example * Build */ componentType?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ componentVersion?: string; /** * @remarks * The content of the image component. The content consists of up to 127 commands. * * @example * RUN yum update -y */ content?: string; /** * @remarks * The description. The description must be 2 to 256 characters in length and cannot start with [http:// or https://](http://https://。). * * @example * This is description. */ description?: string; /** * @remarks * The name of the image component. 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 (-). * * > If you do not specify `Name`, the return value of `ImageComponentId` is used. * * @example * testComponent */ name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the operating system supported by the image component. Only Linux operating systems are supported. Set the value to Linux. * * Default value: Linux. * * @example * Linux */ systemType?: string; /** * @remarks * The tags. */ tag?: CreateImageComponentRequestTag[]; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', componentType: 'ComponentType', componentVersion: 'ComponentVersion', content: 'Content', description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', systemType: 'SystemType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { clientToken: 'string', componentType: 'string', componentVersion: 'string', content: 'string', description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', systemType: 'string', tag: { 'type': 'array', 'itemType': CreateImageComponentRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageComponentResponseBody extends $tea.Model { /** * @remarks * The ID of the image component. * * @example * ic-bp67acfmxazb4p**** */ imageComponentId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { imageComponentId: 'ImageComponentId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { imageComponentId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageComponentResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateImageComponentResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateImageComponentResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImagePipelineRequest extends $tea.Model { /** * @remarks * The IDs of Alibaba Cloud accounts to which to share the image that will be created based on the image template. You can specify up to 20 account IDs. * * @example * 1234567890 */ addAccount?: number[]; /** * @remarks * The source image. * * * If you set `BaseImageType` to IMAGE, set the BaseImage parameter to the ID of a custom image. * * If you set `BaseImageType` to IMAGE_FAMILY, set the BaseImage parameter to the name of an image family. * * This parameter is required. * * @example * m-bp67acfmxazb4p**** */ baseImage?: string; /** * @remarks * The type of the source image. Valid values: * * * IMAGE: image * * IMAGE_FAMILY: image family * * This parameter is required. * * @example * IMAGE */ baseImageType?: string; /** * @remarks * The content of the image template. The content cannot exceed 16 KB in size and can contain up to 127 commands. For more information about the commands that are supported, see the "Usage notes" section of this topic. * * @example * FROM IMAGE:m-bp67acfmxazb4p**** */ buildContent?: 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * Specifies whether to release the intermediate instance when the image cannot be created. Valid values: * * * true * * false * * Default value: true. * * > If the intermediate instance cannot be started, the instance is released by default. * * @example * true */ deleteInstanceOnFailure?: boolean; /** * @remarks * The description of the image template. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`. * * @example * This is description. */ description?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ imageFamily?: string; /** * @remarks * The prefix of the image name. The prefix must be 2 to 64 characters in length. The prefix must start with a letter and cannot start with `http://` or `https://`. The prefix can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * The system generates the final complete image name that consists of the specified prefix and the ID of the build task (`ExecutionId`) in the format of `{ImageName}_{ExecutionId}`. * * @example * testImageName */ imageName?: string; /** * @remarks * The instance type. You can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) to query instance types. * * If you do not configure this parameter, an instance type that provides the fewest vCPUs and memory resources is automatically selected. This configuration is subject to resource availability of instance types. For example, the ecs.g6.large instance type is automatically selected. If available ecs.g6.large resources are insufficient, the ecs.g6.xlarge instance type is selected. * * @example * ecs.g6.large */ instanceType?: string; /** * @remarks * The size of the outbound public bandwidth for the intermediate instance. Unit: Mbit/s. Valid values: 0 to 100. * * Default value: 0. * * @example * 0 */ internetMaxBandwidthOut?: number; /** * @remarks * The name of the launch template. 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 (-). * * > If you do not specify `Name`, the return value of `ImagePipelineId` is used. * * @example * testImagePipeline */ name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region. 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 * > This parameter is in invitational preview and is not publicly available. * * @example * null */ repairMode?: string; /** * @remarks * The ID of the resource group. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The system disk size of the intermediate instance. Unit: GiB. Valid values: 20 to 500. * * Default value: 40. * * @example * 40 */ systemDiskSize?: number; /** * @remarks * The tags to add to the template. */ tag?: CreateImagePipelineRequestTag[]; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ testContent?: string; /** * @remarks * The IDs of regions to which you want to distribute the image that is created based on the image template. You can specify up to 20 region IDs. * * If you do not specify this parameter, the image is created only in the current region. * * @example * cn-hangzhou */ toRegionId?: string[]; /** * @remarks * The ID of the vSwitch. * * If you do not specify this parameter, a new VPC and vSwitch are created. Make sure that the VPC quota in your account is sufficient. For more information, see [Limits and quotas](https://help.aliyun.com/document_detail/27750.html). * * @example * vsw-bp67acfmxazb4p**** */ vSwitchId?: string; static names(): { [key: string]: string } { return { addAccount: 'AddAccount', baseImage: 'BaseImage', baseImageType: 'BaseImageType', buildContent: 'BuildContent', clientToken: 'ClientToken', deleteInstanceOnFailure: 'DeleteInstanceOnFailure', description: 'Description', imageFamily: 'ImageFamily', imageName: 'ImageName', instanceType: 'InstanceType', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', repairMode: 'RepairMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', systemDiskSize: 'SystemDiskSize', tag: 'Tag', testContent: 'TestContent', toRegionId: 'ToRegionId', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { addAccount: { 'type': 'array', 'itemType': 'number' }, baseImage: 'string', baseImageType: 'string', buildContent: 'string', clientToken: 'string', deleteInstanceOnFailure: 'boolean', description: 'string', imageFamily: 'string', imageName: 'string', instanceType: 'string', internetMaxBandwidthOut: 'number', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', repairMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', systemDiskSize: 'number', tag: { 'type': 'array', 'itemType': CreateImagePipelineRequestTag }, testContent: 'string', toRegionId: { 'type': 'array', 'itemType': 'string' }, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImagePipelineResponseBody extends $tea.Model { /** * @remarks * The ID of the image template. * * @example * ip-2ze5tsl5bp6nf2b3**** */ imagePipelineId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { imagePipelineId: 'ImagePipelineId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { imagePipelineId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImagePipelineResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateImagePipelineResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateImagePipelineResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequest extends $tea.Model { hibernationOptions?: CreateInstanceRequestHibernationOptions; privatePoolOptions?: CreateInstanceRequestPrivatePoolOptions; systemDisk?: CreateInstanceRequestSystemDisk; /** * @remarks * Specifies whether to associate the instance on a dedicated host with the dedicated host. Valid values: * * * default: does not associate the instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool if the available resources of the original dedicated host are insufficient. * * host: associates the instance with the dedicated host. When you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the available resources of the original dedicated host are insufficient, the instance cannot start. * * Default value: default. * * @example * default */ affinity?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. */ arn?: CreateInstanceRequestArn[]; /** * @remarks * Specifies whether to enable auto-renewal for the instance. This parameter is valid only if `InstanceChargeType` is set to `PrePaid`. Valid values: * * * true: enables auto-renewal. * * false: does not enable auto-renewal. * * @example * true */ autoRenew?: boolean; /** * @remarks * The auto-renewal period of the instance. This parameter is required if AutoRenew is set to true. * * Valid values if PeriodUnit is set to Month: 1, 2, 3, 6, and 12. * * @example * 2 */ autoRenewPeriod?: number; /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The ID of the cluster in which to create the instance. * * > This parameter will be removed in the future. We recommend that you use other parameters to ensure future compatibility. * * @example * c-bp67acfmxazb4p**** */ clusterId?: string; /** * @remarks * The performance mode of the burstable instance. Valid values: * * * Standard: 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: unlimited mode. For more information, see the "Unlimited mode" section in the [Burstable instances](https://help.aliyun.com/document_detail/59977.html) topic. * * @example * Standard */ creditSpecification?: string; /** * @remarks * The data disks. */ dataDisk?: CreateInstanceRequestDataDisk[]; /** * @remarks * The ID of the dedicated host on which to create the instance. * * You can call the [DescribeDedicatedHosts](https://help.aliyun.com/document_detail/134242.html) operation to query the list of dedicated host IDs * * If you specify `DedicatedHostId`, the `SpotStrategy` and `SpotPriceLimit` parameters are ignored. This is because preemptible instances cannot be created on dedicated hosts. * * @example * dh-bp67acfmxazb4p**** */ dedicatedHostId?: string; /** * @remarks * Specifies whether to enable release protection for the instance. This parameter indicates whether you can use the ECS console or call the [DeleteInstance](https://help.aliyun.com/document_detail/25507.html) operation to release the instance. * * * true: enables release protection. * * false (default): disables release protection. * * > This parameter is applicable only to pay-as-you-go instances. It can protect instances against manual releases, but not against automatic releases. * * @example * false */ deletionProtection?: boolean; /** * @remarks * The number of the deployment set group to which to deploy the instance. If the deployment set specified by the DeploymentSetId parameter uses the high availability group strategy (AvailabilityGroup), you can use the DeploymentSetGroupNo parameter to specify a deployment set group in the deployment set. Valid values: 1 to 7. * * @example * 1 */ deploymentSetGroupNo?: number; /** * @remarks * The ID of the deployment set to which to deploy the instance. * * @example * ds-bp1brhwhoqinyjd6**** */ deploymentSetId?: string; /** * @remarks * The description of the instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * This parameter is empty by default. * * @example * InstanceTest */ description?: string; /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and unavailable ECS resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned. * * false (default): performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed. * * @example * false */ dryRun?: boolean; /** * @remarks * The hostname of the instance. * * * The hostname cannot start or end with a period (.) or hyphen (-). It cannot contain consecutive periods (.) or hyphens (-). * * For a Windows instance, 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 an instance that runs another type of operating system 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 (-). * * @example * LocalHostName */ hostName?: string; /** * @remarks * The ID of the high performance computing (HPC) cluster to which to assign the instance. * * @example * hpc-bp67acfmxazb4p**** */ hpcClusterId?: string; /** * @remarks * Specifies whether to enable the access channel for instance metadata. Valid values: * * * enabled * * disabled * * Default value: enabled. * * > For more information about instance metadata, see [Overview of instance metadata](https://help.aliyun.com/document_detail/49122.html). * * @example * enabled */ httpEndpoint?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * 0 */ httpPutResponseHopLimit?: number; /** * @remarks * Specifies whether to forcibly use the security hardening mode (IMDSv2) to access instance metadata. Valid values: * * * optional: does not forcefully use the security hardening mode (IMDSv2). * * required: forcefully uses the security hardening mode (IMDSv2). After you set this parameter to required, you cannot access instance metadata in normal mode. * * Default value: optional. * * > For more information about the modes of accessing instance metadata, see [Access mode of instance metadata](https://help.aliyun.com/document_detail/150575.html). * * @example * optional */ httpTokens?: string; /** * @remarks * The name of the image family. You can set this parameter to obtain the latest available custom image from the specified image family to create the instance. * * * ImageFamily must be empty if `ImageId` is specified. * * ImageFamily can be specified if `ImageId` is not specified. * * @example * hangzhou-daily-update */ imageFamily?: string; /** * @remarks * The ID of the image to use to create the instance. To use an Alibaba Cloud Marketplace image, you can view the `image ID` on the product page of the Alibaba Cloud Marketplace image. This parameter is required if you do not specify `ImageFamily` to obtain the latest available custom image from the specified image family. * * @example * ubuntu_18_04_64_20G_alibase_20190624.vhd */ imageId?: string; /** * @remarks * The internal IP address to assign to the instance. * * @example * ``192.168.**.**`` */ innerIpAddress?: string; /** * @remarks * The billing method of the instance. Valid values: * * * PrePaid: subscription. If you set this parameter to PrePaid, make sure that you have sufficient balance or credit in your account. Otherwise, an `InvalidPayMethod` error is returned. * * PostPaid (default): pay-as-you-go. * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The name of the instance. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). If you do not specify this parameter, the instance ID is used as the instance name by default. * * @example * 2018-12-06T103200Z */ instanceName?: string; /** * @remarks * The instance type. * * * Instance type selection: See [Instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the performance data of instance types, or see [Best practices for instance type selection](https://help.aliyun.com/document_detail/58291.html) to learn about how to select instance types. * * Query of available resources: Call the [DescribeAvailableResource](https://help.aliyun.com/document_detail/66186.html) operation to query resources available in a specific region or zone. * * This parameter is required. * * @example * ecs.g6.large */ instanceType?: string; /** * @remarks * The billing method for network usage. Default value: PayByTraffic. Valid values: * * * PayByBandwidth: pay-by-bandwidth * * PayByTraffic (default): pay-by-traffic * * > When the **pay-by-traffic** billing method is used for network usage, the maximum inbound and outbound bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios where demand outstrips resource supplies, these maximum bandwidth values may be limited. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage. * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: * * * When the purchased 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 purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the `InternetMaxBandwidthOut` value and the default value is the `InternetMaxBandwidthOut` value. * * @example * 50 */ internetMaxBandwidthIn?: number; /** * @remarks * The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. * * Default value: 0. * * @example * 5 */ internetMaxBandwidthOut?: number; /** * @remarks * Specifies whether the instance is I/O optimized. Valid values: * * * none: The instance is not I/O optimized. * * optimized: The ECS instance is I/O optimized. * * For retired instance types, the default value is none. For more information, see [Retired instance types](https://help.aliyun.com/document_detail/55263.html). * * For other instance types, the default value is optimized. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The name of the key pair. * * > For Windows instances, this parameter is ignored. This parameter is empty by default. The `Password` parameter takes effect even if the KeyPairName parameter is specified. * * @example * KeyPairTestName */ keyPairName?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * hide */ nodeControllerId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The password of the instance. 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 following special characters are supported: * * ( ) ` ~ ! @ # $ % ^ & * - _ + = | { } [ ] : ; \\" < > , . ? / * * Take note of the following items: * * * For security reasons, we recommend that you use HTTPS to send requests if the Password parameter is specified. * * Passwords of Windows instances cannot start with a forward slash (/). * * Passwords cannot be set for instances that run specific types of operating systems such as Others Linux and Fedora CoreOS. For these instances, only key pairs can be set. * * @example * TestEcs123! */ password?: string; /** * @remarks * Specifies whether to use the password preset in the image. When you use this parameter, leave the Password parameter empty and make sure that the selected image has a password preset. * * @example * false */ passwordInherit?: boolean; /** * @remarks * The subscription period of the instance. The unit is specified by `PeriodUnit`. This parameter is valid and required only when `InstanceChargeType` is set to `PrePaid`. If `DedicatedHostId` is specified, the value of Period must not exceed the subscription period of the specified dedicated host. 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. Valid values: * * Month * * Default value: Month. * * @example * Month */ periodUnit?: string; /** * @remarks * The private IP address to assign to the instance. The private IP address must be an available IP address in the CIDR block of the specified vSwitch. * * @example * 172.16.236.* */ privateIpAddress?: string; /** * @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. * * @example * RAMTestName */ ramRoleName?: string; /** * @remarks * The ID of the region in which to create the instance. 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 instance. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to enable security hardening. Valid values: * * * Active: enables security hardening. This value applies only to public images. * * Deactive: disables security hardening. This value is applicable to all images. * * @example * Active */ securityEnhancementStrategy?: string; /** * @remarks * The ID of the security group to which to assign the instance. * * @example * sg-bp15ed6xe1yxeycg**** */ securityGroupId?: string; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify an appropriate protection period based on your business requirements. * * > This parameter takes effect only if the SpotStrategy parameter is set to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The interruption mode of the preemptible instance. 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. * * @example * Terminate */ spotInterruptionBehavior?: string; /** * @remarks * The maximum hourly price of the instance. The value is accurate to three decimal places. This parameter is valid only when `SpotStrategy` is set to `SpotWithPriceLimit`. * * @example * 0.98 */ spotPriceLimit?: number; /** * @remarks * The bidding policy for the pay-as-you-go instance. This parameter is valid only if you set `InstanceChargeType` to `PostPaid`. Valid values: * * * NoSpot (default): The instance is created as a regular pay-as-you-go instance. * * SpotWithPriceLimit: The instance is a preemptible instance for which you specify the maximum hourly price. * * SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The ID of the storage set. * * @example * ss-bp1j4i2jdf3owlhe**** */ storageSetId?: string; /** * @remarks * The maximum number of partitions in the storage set. Valid values: greater than or equal to 2. * * @example * 2 */ storageSetPartitionNumber?: number; /** * @remarks * The tags to add to the instance. */ tag?: CreateInstanceRequestTag[]; /** * @remarks * Specifies whether to create the instance on a dedicated host. Valid values: * * * default: creates the instance on a non-dedicated host. * * host: creates the instance on a dedicated host. If you do not specify `DedicatedHostId`, Alibaba Cloud selects a dedicated host for the instance. * * Default value: default. * * @example * default */ tenancy?: string; /** * @remarks * Specifies whether to use the system configurations for virtual machines. Alibaba Cloud provides the Network Time Protocol (NTP) and Key Management Service (KMS) system configurations for Windows and the NTP and Yellowdog Updater, Modified (YUM) system configurations for Linux. * * @example * true */ useAdditionalService?: boolean; /** * @remarks * The user data of the instance. The user data must be encoded in Base64. The maximum size of raw data is 16 KB. * * @example * ZWNobyBoZWxsbyBlY3Mh */ userData?: string; /** * @remarks * The ID of the vSwitch to which to connect the instance. This parameter is required when you create an instance in a VPC. You can call the [DescribeVSwitches](https://help.aliyun.com/document_detail/35748.html) operation to query available vSwitches. * * > If `VSwitchId` is specified, the zone specified by `ZoneId` must be the zone where the specified vSwitch resides. You can also leave `ZoneId` empty. Then, the system selects the zone where the specified vSwitch resides. * * @example * vsw-bp1s5fnvk4gn2tws0**** */ vSwitchId?: string; /** * @remarks * The ID of the virtual LAN (VLAN). * * @example * 10 */ vlanId?: string; /** * @remarks * The ID of the zone in which to create the instance. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the zones in a specific region. * * > If `VSwitchId` is specified, the zone specified by `ZoneId` must be the zone where the specified vSwitch resides. You can also leave `ZoneId` empty. Then, the system selects the zone where the specified vSwitch resides. * * This parameter is empty by default. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { hibernationOptions: 'HibernationOptions', privatePoolOptions: 'PrivatePoolOptions', systemDisk: 'SystemDisk', affinity: 'Affinity', arn: 'Arn', autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', clientToken: 'ClientToken', clusterId: 'ClusterId', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', dedicatedHostId: 'DedicatedHostId', deletionProtection: 'DeletionProtection', deploymentSetGroupNo: 'DeploymentSetGroupNo', deploymentSetId: 'DeploymentSetId', description: 'Description', dryRun: 'DryRun', hostName: 'HostName', hpcClusterId: 'HpcClusterId', httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', imageFamily: 'ImageFamily', imageId: 'ImageId', innerIpAddress: 'InnerIpAddress', instanceChargeType: 'InstanceChargeType', instanceName: 'InstanceName', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', keyPairName: 'KeyPairName', nodeControllerId: 'NodeControllerId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', password: 'Password', passwordInherit: 'PasswordInherit', period: 'Period', periodUnit: 'PeriodUnit', privateIpAddress: 'PrivateIpAddress', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', securityGroupId: 'SecurityGroupId', spotDuration: 'SpotDuration', spotInterruptionBehavior: 'SpotInterruptionBehavior', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', tag: 'Tag', tenancy: 'Tenancy', useAdditionalService: 'UseAdditionalService', userData: 'UserData', vSwitchId: 'VSwitchId', vlanId: 'VlanId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { hibernationOptions: CreateInstanceRequestHibernationOptions, privatePoolOptions: CreateInstanceRequestPrivatePoolOptions, systemDisk: CreateInstanceRequestSystemDisk, affinity: 'string', arn: { 'type': 'array', 'itemType': CreateInstanceRequestArn }, autoRenew: 'boolean', autoRenewPeriod: 'number', clientToken: 'string', clusterId: 'string', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateInstanceRequestDataDisk }, dedicatedHostId: 'string', deletionProtection: 'boolean', deploymentSetGroupNo: 'number', deploymentSetId: 'string', description: 'string', dryRun: 'boolean', hostName: 'string', hpcClusterId: 'string', httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', imageFamily: 'string', imageId: 'string', innerIpAddress: 'string', instanceChargeType: 'string', instanceName: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', keyPairName: 'string', nodeControllerId: 'string', ownerAccount: 'string', ownerId: 'number', password: 'string', passwordInherit: 'boolean', period: 'number', periodUnit: 'string', privateIpAddress: 'string', ramRoleName: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityEnhancementStrategy: 'string', securityGroupId: 'string', spotDuration: 'number', spotInterruptionBehavior: 'string', spotPriceLimit: 'number', spotStrategy: 'string', storageSetId: 'string', storageSetPartitionNumber: 'number', tag: { 'type': 'array', 'itemType': CreateInstanceRequestTag }, tenancy: 'string', useAdditionalService: 'boolean', userData: 'string', vSwitchId: 'string', vlanId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceResponseBody extends $tea.Model { /** * @remarks * The instance ID. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string; /** * @remarks * The order ID. This parameter is returned only if `InstanceChargeType` is set to PrePaid. * * @example * 1234567890 */ orderId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The transaction price. * * @example * 0.165 */ tradePrice?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', orderId: 'OrderId', requestId: 'RequestId', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { instanceId: 'string', orderId: 'string', requestId: 'string', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateInstanceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateKeyPairRequest extends $tea.Model { /** * @remarks * The name of the key pair. 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 (-). * * This parameter is required. * * @example * testKeyPairName */ keyPairName?: string; ownerId?: number; /** * @remarks * The ID of the region in which to create the key pair. 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 add the key pair. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the key pair. */ tag?: CreateKeyPairRequestTag[]; static names(): { [key: string]: string } { return { keyPairName: 'KeyPairName', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { keyPairName: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': CreateKeyPairRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateKeyPairResponseBody extends $tea.Model { /** * @remarks * The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716. For more information, see [RFC 4716](https://tools.ietf.org/html/rfc4716). * * @example * 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:** */ keyPairFingerPrint?: string; /** * @remarks * The ID of the key pair. * * @example * ssh-bp67acfmxazb4p**** */ keyPairId?: string; /** * @remarks * The name of the key pair. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The private key of the key pair. The private key is encoded with PEM in the PKCS#8 format. * * @example * MIIEpAIBAAKCAQEAtReyMzLIcBH78EV2zj**** */ privateKeyBody?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { keyPairFingerPrint: 'KeyPairFingerPrint', keyPairId: 'KeyPairId', keyPairName: 'KeyPairName', privateKeyBody: 'PrivateKeyBody', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { keyPairFingerPrint: 'string', keyPairId: 'string', keyPairName: 'string', privateKeyBody: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateKeyPairResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateKeyPairResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateKeyPairResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequest extends $tea.Model { systemDisk?: CreateLaunchTemplateRequestSystemDisk; /** * @remarks * The automatic release time of the 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 UTC. * * * If the value of `ss` is not `00`, the 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 * Specifies whether to enable auto-renewal. Valid values: * * * true * * false * * Default value: false. * * > This parameter takes effect only if you set `InstanceChargeType` to `PrePaid`. * * @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; /** * @remarks * The performance mode of the burstable instance. Valid values: * * * Standard: the standard mode. For more information, see the "Standard mode" section in [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html). * * Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section in [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html). * * @example * Standard */ creditSpecification?: string; /** * @remarks * The data disks. */ dataDisk?: CreateLaunchTemplateRequestDataDisk[]; /** * @remarks * Specifies whether to enable release protection for the instance. This parameter specifies whether you can use the ECS console or call the [DeleteInstance](https://help.aliyun.com/document_detail/25507.html) operation to release the instance. Valid values: * * * true * * false * * Default value: false. * * > This parameter is applicable only to pay-as-you-go instances. The release protection feature can protect instances against manual releases, but not against automatic releases. * * @example * false */ deletionProtection?: boolean; /** * @remarks * The ID of the deployment set to which to deploy the instance. * * @example * ds-bp1brhwhoqinyjd6**** */ deploymentSetId?: string; /** * @remarks * The instance description. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * testECSDescription */ description?: string; /** * @remarks * Specifies whether to enable the operating system configuration of the instance. * * > This parameter will be removed in the future. To ensure future compatibility, we recommend that you use other parameters. * * @example * false */ enableVmOsConfig?: boolean; /** * @remarks * The instance hostname. * * * The hostname cannot start or end with a period (.) or hyphen (-). It 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 the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-). * * @example * testHostName */ hostName?: string; /** * @example * enabled */ httpEndpoint?: string; /** * @example * 3 */ httpPutResponseHopLimit?: number; /** * @example * optional */ httpTokens?: string; /** * @remarks * The ID of the image to use to create the instance. You can call the [DescribeImages](https://help.aliyun.com/document_detail/25534.html) operation to query available images. * * @example * win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd */ imageId?: string; /** * @remarks * The source of the image. Valid values: * * * system: public image provided by Alibaba Cloud. * * self: custom image that you created. * * others: shared image from another Alibaba Cloud account. * * marketplace:[Alibaba Cloud Marketplace](https://marketplace.alibabacloud.com/) image. If Alibaba Cloud Marketplace images are available, you can use the images without the need to subscribe to the images. Take note of the billing details of Alibaba Cloud Marketplace images. * * @example * system */ imageOwnerAlias?: string; /** * @remarks * The billing method of the instance. Valid values: * * * PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account has sufficient credits.Otherwise, an `InvalidPayMethod` error is returned. * * PostPaid: pay-as-you-go. * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The instance name. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). The default value of this parameter is the `InstanceId` value. * * When you create multiple ECS instances at a time, you can batch configure sequential names for the instances. The instance names can contain square brackets ([]) and commas (,). For more information, see [Batch configure sequential names or hostnames for multiple instances](https://help.aliyun.com/document_detail/196048.html). * * @example * k8s-node-[1,4]-alibabacloud */ instanceName?: string; /** * @remarks * The instance type of the instance. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). Alternatively, you can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent instance type list. * * @example * ecs.g5.large */ instanceType?: 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 bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios where demand outstrips resource supplies, these maximum bandwidths may be limited. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage. * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: * * * When the purchased 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 purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the `InternetMaxBandwidthOut` value and the default value is the `InternetMaxBandwidthOut` value. * * @example * 10 */ internetMaxBandwidthIn?: number; /** * @remarks * The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. * * @example * 10 */ internetMaxBandwidthOut?: number; /** * @remarks * Specifies whether to create an I/O optimized instance. Valid values: * * * none: creates a non-I/O optimized instance. * * optimized: creates an I/O optimized instance. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The number of IPv6 addresses to randomly generate for the primary elastic network interface (ENI). Valid values: 1 to 10. * * @example * 1 */ ipv6AddressCount?: number; /** * @remarks * The name of the key pair. This parameter is empty by default. * * * For Windows instances, this parameter is ignored The `Password` parameter takes effect even if the KeyPairName parameter is specified. * * For Linux instances, the password-based logon method is disabled by default. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The name of the launch template. 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 (-). * * This parameter is required. * * @example * testLaunchTemplateName */ launchTemplateName?: string; /** * @remarks * The information of the ENIs. */ networkInterface?: CreateLaunchTemplateRequestNetworkInterface[]; /** * @remarks * The network type of the instance. Valid values: * * * classic: classic network * * vpc: VPC * * @example * vpc */ networkType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Specifies whether to use the preset password of the image. * * > If you set the PasswordInherit parameter to true, make sure that you leave the Password parameter empty and the selected image has a preset password. * * @example * false */ passwordInherit?: boolean; /** * @remarks * The subscription duration of the instance. Unit: months. This parameter is valid and required only when `InstanceChargeType` is set to `PrePaid`. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * * @example * 1 */ period?: number; /** * @remarks * The unit of the subscription period. Valid values: * * Month (default) * * @example * Month */ periodUnit?: string; /** * @remarks * The private IP address to assign to the instance. * * To assign a private IP address to an instance that resides in a VPC, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the `VSwitchId` parameter. * * @example * ``10.1.**.**`` */ privateIpAddress?: string; /** * @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. * * @example * testRamRoleName */ ramRoleName?: string; /** * @remarks * The ID of the region in which to create the launch template. 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 instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI). * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to enable security hardening for the operating system. Valid values: * * * Active: enables security hardening. This value is applicable only to public images. * * Deactive: does not enable security hardening. This value is applicable to all images. * * @example * Deactive */ securityEnhancementStrategy?: string; /** * @remarks * The ID of the security group to which to assign the instance. Instances in the same security group can communicate with each other. A security group can contain up to 1,000 instances. * * > You cannot specify both the `SecurityGroupId` and `SecurityGroupIds.N` parameters. * * @example * sg-bp15ed6xe1yxeycg**** */ securityGroupId?: string; /** * @remarks * The IDs of the security groups to which to assign the instance. The valid values of N are based on the maximum number of security groups to which the instance can belong. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html). * * > You cannot specify both the `SecurityGroupId` and `SecurityGroupIds.N` parameters. * * @example * sg-bp15ed6xe1yxeycg7**** */ securityGroupIds?: string[]; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements. * * > This parameter takes effect only if SpotStrategy is set to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The maximum hourly price of the instance. The value is accurate to three decimal places. This parameter is valid only when the `SpotStrategy` parameter is set to `SpotWithPriceLimit`. * * @example * 0.97 */ spotPriceLimit?: number; /** * @remarks * The bidding policy for the pay-as-you-go instance. This parameter is valid only when the `InstanceChargeType` parameter is set to `PostPaid`. Valid values: * * * NoSpot: The instance is a regular pay-as-you-go instance. * * SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price. * * SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bidding price. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The tags to add to the instance, disks, and primary ENI that are created from the launch template. * * **Scenario** * * If you created a launch template by calling the CreateLaunchTemplate operation and use the default version that is automatically generated for the launch template to create instances, the specified tags are automatically added to the created instances, disks, and primary ENIs. For more information about the default versions of launch templates, see [xxxx]\\(url). */ tag?: CreateLaunchTemplateRequestTag[]; /** * @remarks * The ID of the resource group to which the launch template belongs. * * @example * rg-bp67acfmxazb4p**** */ templateResourceGroupId?: string; /** * @remarks * The tags to add to the launch template. * * > You can add tags to or query the tags of launch templates by calling API operations. You cannot add tags to or query the tags of launch templates in the ECS console. */ templateTag?: CreateLaunchTemplateRequestTemplateTag[]; /** * @remarks * The user data of the instance. The user data must be encoded in Base64. The maximum size of raw data is 32 KB. * * @example * ZWNobyBoZWxsbyBlY3Mh */ userData?: string; /** * @remarks * The ID of the vSwitch to which to connect the instance. This parameter is required if you specify the VpcId parameter. * * @example * vsw-bp1s5fnvk4gn2tws0**** */ vSwitchId?: string; /** * @remarks * The description of the launch template version. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * testVersionDescription */ versionDescription?: string; /** * @remarks * The ID of the virtual private cloud (VPC). * * @example * vpc-bp12433upq1y5scen**** */ vpcId?: string; /** * @remarks * The ID of the zone in which to create the instance. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoReleaseTime: 'AutoReleaseTime', autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', deletionProtection: 'DeletionProtection', deploymentSetId: 'DeploymentSetId', description: 'Description', enableVmOsConfig: 'EnableVmOsConfig', hostName: 'HostName', httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', imageId: 'ImageId', imageOwnerAlias: 'ImageOwnerAlias', instanceChargeType: 'InstanceChargeType', instanceName: 'InstanceName', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', ipv6AddressCount: 'Ipv6AddressCount', keyPairName: 'KeyPairName', launchTemplateName: 'LaunchTemplateName', networkInterface: 'NetworkInterface', networkType: 'NetworkType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', passwordInherit: 'PasswordInherit', period: 'Period', periodUnit: 'PeriodUnit', privateIpAddress: 'PrivateIpAddress', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', spotDuration: 'SpotDuration', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', tag: 'Tag', templateResourceGroupId: 'TemplateResourceGroupId', templateTag: 'TemplateTag', userData: 'UserData', vSwitchId: 'VSwitchId', versionDescription: 'VersionDescription', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { systemDisk: CreateLaunchTemplateRequestSystemDisk, autoReleaseTime: 'string', autoRenew: 'boolean', autoRenewPeriod: 'number', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateLaunchTemplateRequestDataDisk }, deletionProtection: 'boolean', deploymentSetId: 'string', description: 'string', enableVmOsConfig: 'boolean', hostName: 'string', httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', imageId: 'string', imageOwnerAlias: 'string', instanceChargeType: 'string', instanceName: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', ipv6AddressCount: 'number', keyPairName: 'string', launchTemplateName: 'string', networkInterface: { 'type': 'array', 'itemType': CreateLaunchTemplateRequestNetworkInterface }, networkType: 'string', ownerAccount: 'string', ownerId: 'number', passwordInherit: 'boolean', period: 'number', periodUnit: 'string', privateIpAddress: 'string', ramRoleName: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityEnhancementStrategy: 'string', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, spotDuration: 'number', spotPriceLimit: 'number', spotStrategy: 'string', tag: { 'type': 'array', 'itemType': CreateLaunchTemplateRequestTag }, templateResourceGroupId: 'string', templateTag: { 'type': 'array', 'itemType': CreateLaunchTemplateRequestTemplateTag }, userData: 'string', vSwitchId: 'string', versionDescription: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateResponseBody extends $tea.Model { /** * @remarks * The ID of the launch template. * * @example * lt-m5eiaupmvm2op9d**** */ launchTemplateId?: string; /** * @remarks * The version number of the launch template. * * @example * 2 */ launchTemplateVersionNumber?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateVersionNumber: 'LaunchTemplateVersionNumber', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', launchTemplateVersionNumber: 'number', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateLaunchTemplateResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateLaunchTemplateResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionRequest extends $tea.Model { systemDisk?: CreateLaunchTemplateVersionRequestSystemDisk; /** * @remarks * The automatic release time of the 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 UTC. * * * If the value of `ss` is not `00`, the 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 * Specifies whether to enable auto-renewal for the instance. This parameter is valid only if `InstanceChargeType` is set to `PrePaid`. Valid values: * * * true * * false * * Default value: false. * * @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; /** * @remarks * The performance mode of the burstable instance. Valid values: * * * Standard: the standard mode. For more information, see the "Standard mode" section in [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html). * * Unlimited: the unlimited mode. For more information, see the "Unlimited mode" section in [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html). * * @example * Standard */ creditSpecification?: string; /** * @remarks * The data disks. */ dataDisk?: CreateLaunchTemplateVersionRequestDataDisk[]; /** * @remarks * Specifies whether to enable release protection for the instance. This parameter specifies whether you can use the ECS console or call the [DeleteInstance](https://help.aliyun.com/document_detail/25507.html) operation to release the instance. Valid values: * * * true * * false * * Default value: false. * * > This parameter is applicable only to pay-as-you-go instances. The release protection feature can protect instances against manual releases, but not against automatic releases. * * @example * false */ deletionProtection?: boolean; /** * @remarks * The ID of the deployment set to which to deploy the instance. * * @example * ds-bp1brhwhoqinyjd6**** */ deploymentSetId?: string; /** * @remarks * The description of the instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * testDescription */ description?: string; /** * @remarks * Specifies whether to enable the operating system configuration of the instance. * * @example * false */ enableVmOsConfig?: boolean; /** * @remarks * The hostname of the instance. * * * The hostname cannot start or end with a period (.) or hyphen (-). It 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 the hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-). * * @example * testHostName */ hostName?: string; /** * @example * enabled */ httpEndpoint?: string; /** * @example * 3 */ httpPutResponseHopLimit?: number; /** * @example * optional */ httpTokens?: string; /** * @remarks * The ID of the image to use to create the Elastic Compute Service (ECS) instance. You can call the [DescribeImages](https://help.aliyun.com/document_detail/25534.html) operation to query available images. * * @example * win2008r2_64_ent_sp1_en-us_40G_alibase_20170915.vhd */ imageId?: string; /** * @remarks * The source of the image. * * > This parameter will be removed in the future. We recommend that you use other parameters to ensure future compatibility. * * @example * system */ imageOwnerAlias?: string; /** * @remarks * The billing method of the instance. Valid values: * * * PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account has sufficient credits. Otherwise, an `InvalidPayMethod` error is returned. * * PostPaid: pay-as-you-go * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The instance name. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). The default value of this parameter is the `InstanceId` value. * * When you create multiple ECS instances at a time, you can batch configure sequential names for the instances. The instance names can contain square brackets ([]) and commas (,). For more information, see [Batch configure sequential names or hostnames for multiple instances](https://help.aliyun.com/document_detail/196048.html). * * @example * k8s-node-[1,4]-alibabacloud */ instanceName?: string; /** * @remarks * The instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). You can also call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent list of instance types. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * The billing method for network usage. Default value: PayByTraffic. 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 bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios where demand outstrips resource supplies, these maximum bandwidth values may not be reached. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage. * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: * * * When the purchased 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. * * If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter range from 1 to the `InternetMaxBandwidthOut` value and the default value is the `InternetMaxBandwidthOut` value. * * @example * 50 */ internetMaxBandwidthIn?: number; /** * @remarks * The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. * * @example * 5 */ internetMaxBandwidthOut?: number; /** * @remarks * Specifies whether to create an I/O optimized instance. Valid values: * * * none: The instance is not I/O optimized. * * optimized: creates an I/O optimized instance. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The number of IPv6 addresses to randomly generate for the primary elastic network interface (ENI). Valid values: 1 to 10. * * @example * 1 */ ipv6AddressCount?: number; /** * @remarks * The name of the key pair to bind to the instance. * * * For Windows instances, this parameter is ignored The `Password` parameter is valid even if the KeyPairName parameter is specified. * * For Linux instances, the password-based logon method is disabled by default. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The ID of the launch template. For more information, call the [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html) operation. You must specify `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * lt-m5eiaupmvm2op9d**** */ launchTemplateId?: string; /** * @remarks * The name of the launch template. 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 * testLaunchTemplateName */ launchTemplateName?: string; /** * @remarks * The information of the elastic network interfaces (ENIs). */ networkInterface?: CreateLaunchTemplateVersionRequestNetworkInterface[]; /** * @remarks * The network type of the instance. Valid values: * * * classic: classic network * * vpc: VPC * * @example * vpc */ networkType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * Specifies whether to use the password that is preconfigured in the image. Valid values: * * * true * * false * * Default value: false. * * > If you specify PasswordInherit, you must leave Password empty and make sure that a password is preconfigured for the image. * * @example * false */ passwordInherit?: boolean; /** * @remarks * The subscription period of the instance. Unit: months. This parameter is valid and required only when `InstanceChargeType` is set to `PrePaid`. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * * @example * 1 */ period?: number; /** * @remarks * The unit of the subscription period. Valid values: * * Month (default) * * @example * Month */ periodUnit?: string; /** * @remarks * The private IP address to assign to the instance. * * To assign a private IP address to an instance of the VPC type, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the `VSwitchId` parameter. * * @example * ``10.1.**.**`` */ privateIpAddress?: string; /** * @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. * * @example * testRamRoleName */ ramRoleName?: string; /** * @remarks * The region ID of the command. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource group to which to assign the instance. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to enable security hardening for the operating system. Valid values: * * * Active: Security hardening is enabled. This value is applicable only to public images. * * Deactive: Security hardening is disabled. This value is available to all types of images. * * @example * Active */ securityEnhancementStrategy?: string; /** * @remarks * The ID of the security group to which to assign the ECS instance created based on the launch template version. Instances in the same security group can access each other. * * > You cannot specify `SecurityGroupId` and `SecurityGroupIds.N` in the same request. * * @example * sg-bp15ed6xe1yxeycg**** */ securityGroupId?: string; /** * @remarks * The ID of security group N to which to assign the instance. The valid values of N depend on the maximum number of security groups to which the instance can belong. For more information, see [Quantity limits](https://help.aliyun.com/document_detail/25412.html). * * > The `SecurityGroupId` parameter and the `SecurityGroupIds.N` parameter are mutually exclusive. * * @example * sg-bp15ed6xe1yxeycg7**** */ securityGroupIds?: string[]; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements. * * > This parameter takes effect only if SpotStrategy is set to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The maximum hourly price of the preemptible instance. A maximum of three decimal places are allowed. * * @example * 0.97 */ spotPriceLimit?: number; /** * @remarks * The preemption policy for the pay-as-you-go instance. This parameter is valid only when the `InstanceChargeType` parameter is set to `PostPaid`. Default value: NoSpot. Valid values: * * * NoSpot: The instance is created as a pay-as-you-go instance. * * SpotWithPriceLimit: The instances of the compute node are preemptible instances. These types of instances have a specified maximum hourly price. * * SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The tags to add to the ECS instance, disks, and primary elastic network interface (ENI) created based on the launch template version. */ tag?: CreateLaunchTemplateVersionRequestTag[]; /** * @remarks * The user data of the instance. The user data must be encoded in Base64. The maximum size of raw data is 32 KB. * * @example * ZWNobyBoZWxsbyBl**** */ userData?: string; /** * @remarks * The ID of the vSwitch to which to connect the instance. This parameter is required if you specify the VpcId parameter. * * @example * vsw-bp1s5fnvk4gn2tws0**** */ vSwitchId?: string; /** * @remarks * The description of the launch template version. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * testVersionDescription */ versionDescription?: string; /** * @remarks * The ID of the virtual private cloud (VPC) in which to create the ECS instance. * * @example * vpc-bp12433upq1y5scen**** */ vpcId?: string; /** * @remarks * The ID of the zone to which the instance belongs. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoReleaseTime: 'AutoReleaseTime', autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', deletionProtection: 'DeletionProtection', deploymentSetId: 'DeploymentSetId', description: 'Description', enableVmOsConfig: 'EnableVmOsConfig', hostName: 'HostName', httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', imageId: 'ImageId', imageOwnerAlias: 'ImageOwnerAlias', instanceChargeType: 'InstanceChargeType', instanceName: 'InstanceName', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', ipv6AddressCount: 'Ipv6AddressCount', keyPairName: 'KeyPairName', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', networkInterface: 'NetworkInterface', networkType: 'NetworkType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', passwordInherit: 'PasswordInherit', period: 'Period', periodUnit: 'PeriodUnit', privateIpAddress: 'PrivateIpAddress', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', spotDuration: 'SpotDuration', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', tag: 'Tag', userData: 'UserData', vSwitchId: 'VSwitchId', versionDescription: 'VersionDescription', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { systemDisk: CreateLaunchTemplateVersionRequestSystemDisk, autoReleaseTime: 'string', autoRenew: 'boolean', autoRenewPeriod: 'number', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateLaunchTemplateVersionRequestDataDisk }, deletionProtection: 'boolean', deploymentSetId: 'string', description: 'string', enableVmOsConfig: 'boolean', hostName: 'string', httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', imageId: 'string', imageOwnerAlias: 'string', instanceChargeType: 'string', instanceName: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', ipv6AddressCount: 'number', keyPairName: 'string', launchTemplateId: 'string', launchTemplateName: 'string', networkInterface: { 'type': 'array', 'itemType': CreateLaunchTemplateVersionRequestNetworkInterface }, networkType: 'string', ownerAccount: 'string', ownerId: 'number', passwordInherit: 'boolean', period: 'number', periodUnit: 'string', privateIpAddress: 'string', ramRoleName: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityEnhancementStrategy: 'string', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, spotDuration: 'number', spotPriceLimit: 'number', spotStrategy: 'string', tag: { 'type': 'array', 'itemType': CreateLaunchTemplateVersionRequestTag }, userData: 'string', vSwitchId: 'string', versionDescription: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionResponseBody extends $tea.Model { /** * @remarks * The ID of the launch template. For more information, see [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html). * * You must specify `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * lt-bp1apo0bbbkuy0rj**** */ launchTemplateId?: string; /** * @remarks * The number of the created version of the launch template. * * @example * 2 */ launchTemplateVersionNumber?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DExxxxx */ requestId?: string; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateVersionNumber: 'LaunchTemplateVersionNumber', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', launchTemplateVersionNumber: 'number', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateLaunchTemplateVersionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateLaunchTemplateVersionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayRequest extends $tea.Model { /** * @remarks * This parameter is required. */ bandwidthPackage?: CreateNatGatewayRequestBandwidthPackage[]; clientToken?: string; description?: string; name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ vpcId?: string; static names(): { [key: string]: string } { return { bandwidthPackage: 'BandwidthPackage', clientToken: 'ClientToken', description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { bandwidthPackage: { 'type': 'array', 'itemType': CreateNatGatewayRequestBandwidthPackage }, clientToken: 'string', description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayResponseBody extends $tea.Model { bandwidthPackageIds?: CreateNatGatewayResponseBodyBandwidthPackageIds; forwardTableIds?: CreateNatGatewayResponseBodyForwardTableIds; natGatewayId?: string; requestId?: string; static names(): { [key: string]: string } { return { bandwidthPackageIds: 'BandwidthPackageIds', forwardTableIds: 'ForwardTableIds', natGatewayId: 'NatGatewayId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { bandwidthPackageIds: CreateNatGatewayResponseBodyBandwidthPackageIds, forwardTableIds: CreateNatGatewayResponseBodyForwardTableIds, natGatewayId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateNatGatewayResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateNatGatewayResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceRequest extends $tea.Model { /** * @remarks * > This parameter is no longer used. * * @example * null */ businessType?: 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * > This parameter is not publicly available. */ connectionTrackingConfiguration?: CreateNetworkInterfaceRequestConnectionTrackingConfiguration; /** * @remarks * Specifies whether to release the ENI when the associated instance is released. Valid values: * * * true * * false * * @example * true */ deleteOnRelease?: boolean; /** * @remarks * The description of the ENI. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * This parameter is empty by default. * * @example * testDescription */ description?: string; /** * @remarks * > This parameter is unavailable. */ enhancedNetwork?: CreateNetworkInterfaceRequestEnhancedNetwork; /** * @remarks * The type of the ENI. Valid values: * * * Secondary: secondary ENI. * * Trunk: trunk ENI. This value is in invitational preview. * * Default value: Secondary. * * @example * null */ instanceType?: string; /** * @remarks * IPv4 prefixes to assign to the ENI. Valid values of N: 1 to 10. * * > To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both. */ ipv4Prefix?: string[]; /** * @remarks * The number of IPv4 prefixes to assign to the ENI. Valid values: 1 to 10. * * > To assign IPv4 prefixes to the ENI, you must specify the Ipv4Prefix.N or Ipv4PrefixCount parameter, but not both. * * @example * hide */ ipv4PrefixCount?: number; /** * @remarks * IPv6 addresses to assign to the ENI. Valid values of N: 1 to 10. * * Example: Ipv6Address.1=2001:db8:1234:1a00::\\*\\*\\*\\* * * > To assign IPv6 addresses to the ENI, you must specify the `Ipv6Addresses.N` or `Ipv6AddressCount` parameter, but not both. * * @example * 2001:db8:1234:1a00::**** */ ipv6Address?: string[]; /** * @remarks * The number of IPv6 addresses to randomly generate for the ENI. Valid values: 1 to 10. * * > To assign IPv6 addresses to the ENI, you must specify the `Ipv6Addresses.N` or `Ipv6AddressCount` parameter, but not both. * * @example * 1 */ ipv6AddressCount?: number; /** * @remarks * IPv6 prefixes to assign to the ENI. Valid values of N: 1 to 10. * * > To assign IPv6 prefixes to the ENI, you must specify the Ipv6Prefix.N or Ipv6PrefixCount parameter, but not both. */ ipv6Prefix?: string[]; /** * @remarks * The number of IPv6 prefixes to assign to the ENI. Valid values: 1 to 10. * * > To assign IPv6 prefixes to the ENI, you must specify the Ipv6Prefix.N or Ipv6PrefixCount parameter, but not both. * * @example * hide */ ipv6PrefixCount?: number; /** * @remarks * The name of the ENI. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * This parameter is left empty by default. * * @example * testNetworkInterfaceName */ networkInterfaceName?: string; /** * @remarks * The communication settings of the ENI. */ networkInterfaceTrafficConfig?: CreateNetworkInterfaceRequestNetworkInterfaceTrafficConfig; /** * @remarks * The communication mode of the ENI. Valid values: * * * Standard: uses the TCP communication mode. * * HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled. * * > ENIs in RDMA mode can be attached only to instances of the instance types that support ERIs. The number of ENIs in RDMA mode that are attached to an instance cannot exceed the maximum number of ENIs that the instance type supports. For more information, see [Overview of ECS instance families](https://help.aliyun.com/document_detail/25378.html) and [Configure eRDMA on an enterprise-level instance](https://help.aliyun.com/document_detail/336853.html). * * Default value: Standard. * * @example * Standard */ networkInterfaceTrafficMode?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The primary private IP address of the ENI. * * The specified IP address must be an idle IP address within the CIDR block of the vSwitch with which to associate the ENI. If this parameter is not specified, an idle IP address is assigned from within the vSwitch CIDR block at random. * * @example * ``172.17.**.**`` */ primaryIpAddress?: string; /** * @remarks * Secondary private IP addresses to assign to the ENI. The IP addresses must be idle IP addresses in the CIDR block of the vSwitch with which to associate the ENI. Valid values of N: 0 to 10. * * > To assign secondary private IP addresses to the ENI, you can specify the `PrivateIpAddress.N` or `SecondaryPrivateIpAddressCount` parameter, but not both. * * @example * ``172.17.**.**`` */ privateIpAddress?: string[]; /** * @remarks * The number of queues supported by the ENI. Valid values: 1 to 2048. * * When you attach the ENI to an instance, make sure that the value of this parameter is less than the maximum number of queues per ENI that is allowed for the instance type. To view the maximum number of queues per ENI allowed for an instance type, you can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation and then check the return value of `MaximumQueueNumberPerEni`. * * This parameter is left empty by default. If you do not specify this parameter, the default number of queues per ENI for the instance type of an instance is used when you attach the ENI to the instance. To view the default number of queues per ENI for an instance type, you can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation and then check the return value of `SecondaryEniQueueNumber`. * * @example * 1 */ queueNumber?: number; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * 22 */ queuePairNumber?: number; /** * @remarks * The region in which to create the ENI. 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 you want to assign the ENI. You can call the [ListResourceGroups](https://help.aliyun.com/document_detail/158855.html) operation to query the most recent resource group list. * * @example * rg-bp67acfmxazb4ph**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The receive (Rx) queue depth of the ENI. * * Take note of the following items: * * * The Rx queue depth of an ENI must be the same as the Tx queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384. * * A larger Rx queue depth yields higher inbound throughput but consumes more memory. * * @example * 8192 */ rxQueueSize?: number; /** * @remarks * The number of private IP addresses to be assigned by ECS. Valid values: 1 to 49. * * @example * 1 */ secondaryPrivateIpAddressCount?: number; /** * @remarks * The ID of the security group to which to assign the ENI. The security group and the ENI must belong to the same VPC. * * > You must specify `SecurityGroupId` or `SecurityGroupIds.N` but not both. * * @example * sg-bp1fg655nh68xyz9i**** */ securityGroupId?: string; /** * @remarks * The IDs of security groups to which to assign the ENI. The security groups and the ENI must belong to the same VPC. The valid values of N are determined based on the maximum number of security groups to which an ENI can be assigned. For more information, see [Limits](https://help.aliyun.com/document_detail/25412.html). * * > You must specify `SecurityGroupId` or `SecurityGroupIds.N` but not both. * * @example * sg-bp1fg655nh68xyz9i**** */ securityGroupIds?: string[]; /** * @remarks * The tags to add to the ENI. */ tag?: CreateNetworkInterfaceRequestTag[]; /** * @remarks * The transmit (Tx) queue depth of the ENI. * * Take note of the following items: * * * The Tx queue depth of an ENI must be the same as the Rx queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384. * * A larger Tx queue depth yields higher outbound throughput but consumes more memory. * * @example * 8192 */ txQueueSize?: number; /** * @remarks * The ID of the vSwitch with which to associate the ENI. Private IP addresses are assigned to the ENI from within the CIDR block of the vSwitch. * * This parameter is required. * * @example * vsw-bp1s5fnvk4gn2tws03**** */ vSwitchId?: string; /** * @remarks * > This parameter is no longer used. * * @example * null */ visible?: boolean; static names(): { [key: string]: string } { return { businessType: 'BusinessType', clientToken: 'ClientToken', connectionTrackingConfiguration: 'ConnectionTrackingConfiguration', deleteOnRelease: 'DeleteOnRelease', description: 'Description', enhancedNetwork: 'EnhancedNetwork', instanceType: 'InstanceType', ipv4Prefix: 'Ipv4Prefix', ipv4PrefixCount: 'Ipv4PrefixCount', ipv6Address: 'Ipv6Address', ipv6AddressCount: 'Ipv6AddressCount', ipv6Prefix: 'Ipv6Prefix', ipv6PrefixCount: 'Ipv6PrefixCount', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficConfig: 'NetworkInterfaceTrafficConfig', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', primaryIpAddress: 'PrimaryIpAddress', privateIpAddress: 'PrivateIpAddress', queueNumber: 'QueueNumber', queuePairNumber: 'QueuePairNumber', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', rxQueueSize: 'RxQueueSize', secondaryPrivateIpAddressCount: 'SecondaryPrivateIpAddressCount', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', tag: 'Tag', txQueueSize: 'TxQueueSize', vSwitchId: 'VSwitchId', visible: 'Visible', }; } static types(): { [key: string]: any } { return { businessType: 'string', clientToken: 'string', connectionTrackingConfiguration: CreateNetworkInterfaceRequestConnectionTrackingConfiguration, deleteOnRelease: 'boolean', description: 'string', enhancedNetwork: CreateNetworkInterfaceRequestEnhancedNetwork, instanceType: 'string', ipv4Prefix: { 'type': 'array', 'itemType': 'string' }, ipv4PrefixCount: 'number', ipv6Address: { 'type': 'array', 'itemType': 'string' }, ipv6AddressCount: 'number', ipv6Prefix: { 'type': 'array', 'itemType': 'string' }, ipv6PrefixCount: 'number', networkInterfaceName: 'string', networkInterfaceTrafficConfig: CreateNetworkInterfaceRequestNetworkInterfaceTrafficConfig, networkInterfaceTrafficMode: 'string', ownerAccount: 'string', ownerId: 'number', primaryIpAddress: 'string', privateIpAddress: { 'type': 'array', 'itemType': 'string' }, queueNumber: 'number', queuePairNumber: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', rxQueueSize: 'number', secondaryPrivateIpAddressCount: 'number', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, tag: { 'type': 'array', 'itemType': CreateNetworkInterfaceRequestTag }, txQueueSize: 'number', vSwitchId: 'string', visible: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBody extends $tea.Model { /** * @remarks * The description of the ENI. * * @example * testDescription */ description?: string; /** * @remarks * The IPv4 prefixes assigned to the ENI. */ ipv4PrefixSets?: CreateNetworkInterfaceResponseBodyIpv4PrefixSets; /** * @remarks * The IPv6 prefixes assigned to the ENI. */ ipv6PrefixSets?: CreateNetworkInterfaceResponseBodyIpv6PrefixSets; /** * @remarks * The IPv6 addresses assigned to the ENI. */ ipv6Sets?: CreateNetworkInterfaceResponseBodyIpv6Sets; /** * @remarks * The media access control (MAC) address of the ENI. * * @example * 00:16:3e:12:**:** */ macAddress?: string; /** * @remarks * The ID of the ENI. * * @example * eni-bp14v2sdd3v8htln**** */ networkInterfaceId?: string; /** * @remarks * The name of the ENI. * * @example * my-eni-name */ networkInterfaceName?: string; /** * @remarks * The ID of the account to which the ENI belongs. * * @example * 123456**** */ ownerId?: string; /** * @remarks * The private IP address of the ENI. * * @example * ``172.17.**.**`` */ privateIpAddress?: string; /** * @remarks * The private IP addresses. */ privateIpSets?: CreateNetworkInterfaceResponseBodyPrivateIpSets; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the resource group to which the ENI belongs. * * @example * rg-2ze88m67qx5z**** */ resourceGroupId?: string; /** * @remarks * The IDs of the security groups to which the ENI belongs. */ securityGroupIds?: CreateNetworkInterfaceResponseBodySecurityGroupIds; /** * @remarks * The ID of the distributor to which the ENI belongs. * * @example * 12345678910 */ serviceID?: number; /** * @remarks * Indicates whether the user of the ENI is an Alibaba Cloud service or a distributor. * * @example * true */ serviceManaged?: boolean; /** * @remarks * The state of the ENI. * * @example * Available */ status?: string; /** * @remarks * The tags of the ENI. */ tags?: CreateNetworkInterfaceResponseBodyTags; /** * @remarks * The type of the ENI. * * @example * Secondary */ type?: string; /** * @remarks * The ID of the vSwitch to which the ENI is connected. * * @example * vsw-bp16usj2p27htro3**** */ vSwitchId?: string; /** * @remarks * The ID of the VPC to which the ENI belongs. * * @example * vpc-bp1j7w3gc1cexjqd**** */ vpcId?: string; /** * @remarks * The zone ID of the ENI. * * @example * cn-hangzhou-e */ zoneId?: string; static names(): { [key: string]: string } { return { description: 'Description', ipv4PrefixSets: 'Ipv4PrefixSets', ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', macAddress: 'MacAddress', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', privateIpSets: 'PrivateIpSets', requestId: 'RequestId', resourceGroupId: 'ResourceGroupId', securityGroupIds: 'SecurityGroupIds', serviceID: 'ServiceID', serviceManaged: 'ServiceManaged', status: 'Status', tags: 'Tags', type: 'Type', vSwitchId: 'VSwitchId', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { description: 'string', ipv4PrefixSets: CreateNetworkInterfaceResponseBodyIpv4PrefixSets, ipv6PrefixSets: CreateNetworkInterfaceResponseBodyIpv6PrefixSets, ipv6Sets: CreateNetworkInterfaceResponseBodyIpv6Sets, macAddress: 'string', networkInterfaceId: 'string', networkInterfaceName: 'string', ownerId: 'string', privateIpAddress: 'string', privateIpSets: CreateNetworkInterfaceResponseBodyPrivateIpSets, requestId: 'string', resourceGroupId: 'string', securityGroupIds: CreateNetworkInterfaceResponseBodySecurityGroupIds, serviceID: 'number', serviceManaged: 'boolean', status: 'string', tags: CreateNetworkInterfaceResponseBodyTags, type: 'string', vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateNetworkInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateNetworkInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfacePermissionRequest extends $tea.Model { /** * @remarks * The ID of the Alibaba Cloud partner (a certified ISV) or individual user. * * This parameter is required. * * @example * 1234567890 */ accountId?: number; /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * eni-bp14v2sdd3v8htln**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The permission on the ENI. Valid values: * * InstanceAttach: the permission to attach the ENI to an ECS instance. The ENI and the ECS instance must be in the same zone. * * This parameter is required. * * @example * InstanceAttach */ permission?: string; /** * @remarks * The region ID of the ENI. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { accountId: 'AccountId', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', permission: 'Permission', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { accountId: 'number', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', permission: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfacePermissionResponseBody extends $tea.Model { /** * @remarks * Details about permissions on the ENI. */ networkInterfacePermission?: CreateNetworkInterfacePermissionResponseBodyNetworkInterfacePermission; /** * @remarks * The ID of the request. * * @example * 0FCD3DEF-63D3-4605-A818-805C8BD7DB87 */ requestId?: string; static names(): { [key: string]: string } { return { networkInterfacePermission: 'NetworkInterfacePermission', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { networkInterfacePermission: CreateNetworkInterfacePermissionResponseBodyNetworkInterfacePermission, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfacePermissionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateNetworkInterfacePermissionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateNetworkInterfacePermissionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePhysicalConnectionRequest extends $tea.Model { /** * @remarks * This parameter is required. */ accessPointId?: string; circuitCode?: string; clientToken?: string; description?: string; /** * @remarks * This parameter is required. */ lineOperator?: string; name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ peerLocation?: string; portType?: string; redundantPhysicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; type?: string; userCidr?: string; bandwidth?: number; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', circuitCode: 'CircuitCode', clientToken: 'ClientToken', description: 'Description', lineOperator: 'LineOperator', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', peerLocation: 'PeerLocation', portType: 'PortType', redundantPhysicalConnectionId: 'RedundantPhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', type: 'Type', userCidr: 'UserCidr', bandwidth: 'bandwidth', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', circuitCode: 'string', clientToken: 'string', description: 'string', lineOperator: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', peerLocation: 'string', portType: 'string', redundantPhysicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', type: 'string', userCidr: 'string', bandwidth: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePhysicalConnectionResponseBody extends $tea.Model { physicalConnectionId?: string; requestId?: string; static names(): { [key: string]: string } { return { physicalConnectionId: 'PhysicalConnectionId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { physicalConnectionId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreatePhysicalConnectionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreatePhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePrefixListRequest extends $tea.Model { /** * @remarks * The IP address family. Valid values: * * * IPv4 * * IPv6 * * This parameter is required. * * @example * IPv4 */ addressFamily?: 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 description of the prefix list. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * This is description. */ description?: string; /** * @remarks * The details of entries in the prefix list. */ entry?: CreatePrefixListRequestEntry[]; /** * @remarks * The maximum number of entries that the prefix list can contain. Valid values: 1 to 200. * * This parameter is required. * * @example * 10 */ maxEntries?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The name of the prefix list. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). It must start with a letter and cannot start with `http://`, `https://`, `com.aliyun`, or `com.alibabacloud`. * * This parameter is required. * * @example * PrefixListNameSample */ prefixListName?: string; /** * @remarks * The ID of the region in which to create the prefix list. * * This parameter is required. * * @example * cn-chengdu */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { addressFamily: 'AddressFamily', clientToken: 'ClientToken', description: 'Description', entry: 'Entry', maxEntries: 'MaxEntries', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListName: 'PrefixListName', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { addressFamily: 'string', clientToken: 'string', description: 'string', entry: { 'type': 'array', 'itemType': CreatePrefixListRequestEntry }, maxEntries: 'number', ownerAccount: 'string', ownerId: 'number', prefixListName: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePrefixListResponseBody extends $tea.Model { /** * @remarks * The ID of the prefix list. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string; /** * @remarks * The request ID. * * @example * 38793DB8-A4B2-4AEC-BFD3-111234E9188D */ requestId?: string; static names(): { [key: string]: string } { return { prefixListId: 'PrefixListId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { prefixListId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePrefixListResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreatePrefixListResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreatePrefixListResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouteEntryRequest extends $tea.Model { clientToken?: string; /** * @remarks * This parameter is required. */ destinationCidrBlock?: string; nextHopId?: string; nextHopList?: CreateRouteEntryRequestNextHopList[]; nextHopType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routeTableId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', destinationCidrBlock: 'DestinationCidrBlock', nextHopId: 'NextHopId', nextHopList: 'NextHopList', nextHopType: 'NextHopType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routeTableId: 'RouteTableId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', destinationCidrBlock: 'string', nextHopId: 'string', nextHopList: { 'type': 'array', 'itemType': CreateRouteEntryRequestNextHopList }, nextHopType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routeTableId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouteEntryResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouteEntryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateRouteEntryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateRouteEntryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouterInterfaceRequest extends $tea.Model { accessPointId?: string; autoPay?: boolean; clientToken?: string; description?: string; healthCheckSourceIp?: string; healthCheckTargetIp?: string; instanceChargeType?: string; name?: string; oppositeAccessPointId?: string; oppositeInterfaceId?: string; oppositeInterfaceOwnerId?: string; /** * @remarks * This parameter is required. */ oppositeRegionId?: string; oppositeRouterId?: string; oppositeRouterType?: string; ownerAccount?: string; ownerId?: number; period?: number; pricingCycle?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ role?: string; /** * @remarks * This parameter is required. */ routerId?: string; /** * @remarks * This parameter is required. */ routerType?: string; /** * @remarks * This parameter is required. */ spec?: string; userCidr?: string; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', autoPay: 'AutoPay', clientToken: 'ClientToken', description: 'Description', healthCheckSourceIp: 'HealthCheckSourceIp', healthCheckTargetIp: 'HealthCheckTargetIp', instanceChargeType: 'InstanceChargeType', name: 'Name', oppositeAccessPointId: 'OppositeAccessPointId', oppositeInterfaceId: 'OppositeInterfaceId', oppositeInterfaceOwnerId: 'OppositeInterfaceOwnerId', oppositeRegionId: 'OppositeRegionId', oppositeRouterId: 'OppositeRouterId', oppositeRouterType: 'OppositeRouterType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', pricingCycle: 'PricingCycle', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', role: 'Role', routerId: 'RouterId', routerType: 'RouterType', spec: 'Spec', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', autoPay: 'boolean', clientToken: 'string', description: 'string', healthCheckSourceIp: 'string', healthCheckTargetIp: 'string', instanceChargeType: 'string', name: 'string', oppositeAccessPointId: 'string', oppositeInterfaceId: 'string', oppositeInterfaceOwnerId: 'string', oppositeRegionId: 'string', oppositeRouterId: 'string', oppositeRouterType: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', pricingCycle: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', role: 'string', routerId: 'string', routerType: 'string', spec: 'string', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouterInterfaceResponseBody extends $tea.Model { orderId?: number; requestId?: string; routerInterfaceId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', routerInterfaceId: 'RouterInterfaceId', }; } static types(): { [key: string]: any } { return { orderId: 'number', requestId: 'string', routerInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouterInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateRouterInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateRouterInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSavingsPlanRequest extends $tea.Model { chargeType?: string; committedAmount?: string; instanceTypeFamily?: string; offeringType?: string; period?: string; periodUnit?: string; planType?: string; regionId?: string; resourceId?: string[]; static names(): { [key: string]: string } { return { chargeType: 'ChargeType', committedAmount: 'CommittedAmount', instanceTypeFamily: 'InstanceTypeFamily', offeringType: 'OfferingType', period: 'Period', periodUnit: 'PeriodUnit', planType: 'PlanType', regionId: 'RegionId', resourceId: 'ResourceId', }; } static types(): { [key: string]: any } { return { chargeType: 'string', committedAmount: 'string', instanceTypeFamily: 'string', offeringType: 'string', period: 'string', periodUnit: 'string', planType: 'string', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSavingsPlanResponseBody extends $tea.Model { orderId?: string; requestId?: string; savingsPlanId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', savingsPlanId: 'SavingsPlanId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', savingsPlanId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSavingsPlanResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateSavingsPlanResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateSavingsPlanResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSecurityGroupRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the security group. The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`. * * By default, this parameter is left empty. * * @example * testDescription */ description?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the security 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 the security group belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The name of the security 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 Unicode characters under the Decimal Number category and the categories whose names contain Letter. The name can also contain colons (:), underscores (_), periods (.), and hyphens (-). * * @example * testSecurityGroupName */ securityGroupName?: string; /** * @remarks * The type of the security group. Valid values: * * * normal: basic security group. * * enterprise: advanced security group. For more information, see [Advanced security groups](https://help.aliyun.com/document_detail/120621.html). * * @example * enterprise */ securityGroupType?: string; /** * @remarks * This parameter is not publicly available. * * @example * false */ serviceManaged?: boolean; /** * @remarks * The tags to add to the security group. */ tag?: CreateSecurityGroupRequestTag[]; /** * @remarks * The ID of the VPC in which you want to create the security group. * * > The VpcId parameter is required only if you want to create security groups of the VPC type. In regions that support the classic network, you can create security groups of the classic network type without the need to specify the VpcId parameter. * * @example * vpc-bp1opxu1zkhn00gzv**** */ vpcId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupName: 'SecurityGroupName', securityGroupType: 'SecurityGroupType', serviceManaged: 'ServiceManaged', tag: 'Tag', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupName: 'string', securityGroupType: 'string', serviceManaged: 'boolean', tag: { 'type': 'array', 'itemType': CreateSecurityGroupRequestTag }, vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSecurityGroupResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the security group. * * @example * sg-bp1fg655nh68xyz9**** */ securityGroupId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { requestId: 'string', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateSecurityGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSimulatedSystemEventsRequest extends $tea.Model { /** * @remarks * The type of the system event. Valid values: * * * SystemMaintenance.Reboot: The instance is restarted due to system maintenance. * * SystemFailure.Reboot: The instance is restarted due to a system error. * * InstanceFailure.Reboot: The instance is restarted due to an instance error. * * SystemMaintenance.Stop: The instance is stopped due to system maintenance. * * SystemMaintenance.Redeploy: The instance is redeployed due to system maintenance. * * SystemFailure.Redeploy: The instance is redeployed due to a system error. * * SystemFailure.Stop: The instance is stopped due to a system error. * * This parameter is required. * * @example * SystemMaintenance.Reboot */ eventType?: string; /** * @remarks * The IDs of the instances. You can specify up to 100 instance IDs. * * This parameter is required. * * @example * i-bp1gtjxuuvwj17zr**** */ instanceId?: string[]; /** * @remarks * The scheduled start time of the event. 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. * * > For events that occur due to system errors or instance errors, the simulated events of such events enter the `Executing` state when the simulated events are created. The value of `NotBefore` is the time when the simulated events enter the `Executed` state. * * This parameter is required. * * @example * 2018-12-01T06:32:31Z */ notBefore?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { eventType: 'EventType', instanceId: 'InstanceId', notBefore: 'NotBefore', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { eventType: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, notBefore: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSimulatedSystemEventsResponseBody extends $tea.Model { /** * @remarks * The IDs of the simulated events. */ eventIdSet?: CreateSimulatedSystemEventsResponseBodyEventIdSet; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { eventIdSet: 'EventIdSet', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { eventIdSet: CreateSimulatedSystemEventsResponseBodyEventIdSet, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSimulatedSystemEventsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateSimulatedSystemEventsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateSimulatedSystemEventsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotRequest extends $tea.Model { /** * @remarks * The category of the snapshot. Valid values: * * * Standard: standard snapshot * * Flash: local snapshot * * > This parameter is no longer used. By default, new standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see [Use the instant access feature](https://help.aliyun.com/document_detail/193667.html). * * @example * Standard */ category?: string; /** * @remarks * The retention period of the snapshot. Valid values: 1 to 65536. Unit: days. The snapshot is automatically released when its retention period expires. * * This parameter is empty by default, which indicates that the snapshot is not automatically released. * * @example * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The cloud disk ID. * * @example * testDescription */ description?: string; /** * @remarks * Creates a snapshot for a disk. * * This parameter is required. * * @example * d-bp1s5fnvk4gn2tws0**** */ diskId?: string; /** * @remarks * Specifies whether to enable the instant access feature. Valid values: * * * true: enables the instant access feature. This feature can be enabled only for ESSDs. * * false: does not enable the instant access feature. If InstantAccess is set to false, a standard snapshot is created. * * Default value: false. * * > This parameter is no longer used. By default, new standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see [Use the instant access feature](https://help.aliyun.com/document_detail/193667.html). * * @example * false */ instantAccess?: boolean; /** * @remarks * The validity period of the instant access feature. When the validity period ends, the feature is disabled and the instant access snapshot is automatically released. This parameter takes effect only when `InstantAccess` is set to true. Unit: days. Valid values: 1 to 65535. * * By default, the value of this parameter is the same as that of `RetentionDays`. * * > This parameter is no longer used. By default, new standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see [Use the instant access feature](https://help.aliyun.com/document_detail/193667.html). * * @example * 1 */ instantAccessRetentionDays?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The snapshot type. Valid values: * * * Standard: standard snapshot * * Flash: local snapshot * * > This parameter will be removed in the future. We recommend that you use the `InstantAccess` parameter to ensure future compatibility. This parameter and the `InstantAccess` parameter cannot be specified at the same time. For more information, see the "Description" section of this topic. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The snapshot name. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). * * The name cannot start with `auto` because snapshots whose names start with auto are recognized as automatic snapshots. * * @example * 30 */ retentionDays?: number; /** * @remarks * The name of the snapshot. 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 name cannot start with `auto` because snapshots whose names start with auto are recognized as automatic snapshots. * * @example * testSnapshotName */ snapshotName?: string; /** * @remarks * The value of tag N that you want to add to the snapshot. Valid values of N: 1 to 20. The tag value can be an empty string. It can be up to 128 characters in length and cannot start with acs: or contain [http:// or https://.](http://https://。) * * @example * null */ storageLocationArn?: string; /** * @remarks * The tags to add to the snapshot. */ tag?: CreateSnapshotRequestTag[]; static names(): { [key: string]: string } { return { category: 'Category', clientToken: 'ClientToken', description: 'Description', diskId: 'DiskId', instantAccess: 'InstantAccess', instantAccessRetentionDays: 'InstantAccessRetentionDays', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', retentionDays: 'RetentionDays', snapshotName: 'SnapshotName', storageLocationArn: 'StorageLocationArn', tag: 'Tag', }; } static types(): { [key: string]: any } { return { category: 'string', clientToken: 'string', description: 'string', diskId: 'string', instantAccess: 'boolean', instantAccessRetentionDays: 'number', ownerAccount: 'string', ownerId: 'number', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', retentionDays: 'number', snapshotName: 'string', storageLocationArn: 'string', tag: { 'type': 'array', 'itemType': CreateSnapshotRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the snapshot. * * @example * s-bp17441ohwka0yuh**** */ snapshotId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { requestId: 'string', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateSnapshotResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateSnapshotResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotGroupRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the snapshot-consistent group. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * This is description. */ description?: string; /** * @remarks * The ID of cloud disk N for which you want to create snapshots. You can specify multiple cloud disk IDs across instances within the same zone. Valid values of N: 1 to 16. A single snapshot-consistent group can contain snapshots of up to 16 cloud disks whose total disk size does not exceed 32 TiB. * * Take note of the following items: * * * You cannot specify both DiskId.N and `ExcludeDiskId.N` in the same request. * * If `InstanceId` is set, you can use DiskId.N to specify only cloud disks attached to the instance specified by InstanceId, and you cannot use DiskId.N to specify cloud disks attached to multiple instances. */ diskId?: string[]; /** * @remarks * The ID of cloud disk N for which you do not want to create snapshots. If this parameter is specified, the created snapshot-consistent group does not contain snapshots of the cloud disk. Valid values of N: 1 to 16. * * This parameter is empty by default, which indicates that snapshots are created for all the disks of the instance. * * > You cannot specify ExcludeDiskId.N and `DiskId.N` in the same request. * * @example * d-j6cf7l0ewidb78lq**** */ excludeDiskId?: string[]; /** * @remarks * The instance ID. * * @example * i-j6ca469urv8ei629**** */ instanceId?: string; /** * @remarks * Specifies whether to enable the instant access feature. Valid values: * * * true * * false * * Default value: false. * * > This parameter is no longer used. By default, new standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see [Use the instant access feature](https://help.aliyun.com/document_detail/193667.html). * * @example * false */ instantAccess?: boolean; /** * @remarks * The number of days for which the instant access feature is available. Unit: days. Valid values: 1 to 65535. * * This parameter takes effect only when `InstantAccess` is set to true. The instant access feature is automatically disabled when the specified duration ends. * * This parameter is left empty by default, which indicates that the instant access feature is automatically disabled when the instant access snapshots are released. * * > This parameter is no longer used. By default, new standard snapshots of ESSDs are upgraded to instant access snapshots free of charge without the need for additional configurations. For more information, see [Use the instant access feature](https://help.aliyun.com/document_detail/193667.html). * * @example * 1 */ instantAccessRetentionDays?: number; /** * @remarks * The name of the snapshot-consistent group. The name must be 2 to 128 characters in length. The name can contain letters, digits, periods (.), underscores (_), hyphens (-), and colons (:). It must start with a letter and cannot start with `http://` or `https://`. * * @example * testName */ name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource group to which the snapshot-consistent group belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is unavailable for public use. * * @example * null */ storageLocationArn?: string; /** * @remarks * The list of tags. */ tag?: CreateSnapshotGroupRequestTag[]; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', diskId: 'DiskId', excludeDiskId: 'ExcludeDiskId', instanceId: 'InstanceId', instantAccess: 'InstantAccess', instantAccessRetentionDays: 'InstantAccessRetentionDays', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageLocationArn: 'StorageLocationArn', tag: 'Tag', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', diskId: { 'type': 'array', 'itemType': 'string' }, excludeDiskId: { 'type': 'array', 'itemType': 'string' }, instanceId: 'string', instantAccess: 'boolean', instantAccessRetentionDays: 'number', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageLocationArn: 'string', tag: { 'type': 'array', 'itemType': CreateSnapshotGroupRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotGroupResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 01ABBD93-1ABB-4D92-B496-1A3D20EC0697 */ requestId?: string; /** * @remarks * The ID of the snapshot-consistent group. * * @example * ssg-j6ciyh3k52qp7ovm**** */ snapshotGroupId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', snapshotGroupId: 'SnapshotGroupId', }; } static types(): { [key: string]: any } { return { requestId: 'string', snapshotGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateSnapshotGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateSnapshotGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateStorageSetRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The description of the storage set. The description must be 2 to 256 characters in length and cannot start with [http:// or https://](http://https://。). * * @example * testDescription */ description?: string; /** * @remarks * The maximum number of partitions supported by the storage set. The value must be greater than or equal to 2 but cannot exceed the quota that you obtained by calling the [DescribeAccountAttributes](https://help.aliyun.com/document_detail/73772.html) operation. * * Default value: 2. * * @example * 10 */ maxPartitionNumber?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the storage set. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The name of the storage set. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter and cannot start with [http:// or https:// ](http://https://。、(:)、(_)(-)。). * * @example * testStorageSetName */ storageSetName?: string; /** * @remarks * The zone ID of the storage set. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * This parameter is required. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', maxPartitionNumber: 'MaxPartitionNumber', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageSetName: 'StorageSetName', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', maxPartitionNumber: 'number', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageSetName: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateStorageSetResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the storage set. * * @example * ss-bp67acfmxazb4p**** */ storageSetId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', storageSetId: 'StorageSetId', }; } static types(): { [key: string]: any } { return { requestId: 'string', storageSetId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateStorageSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateStorageSetResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateStorageSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVSwitchRequest extends $tea.Model { /** * @remarks * This parameter is required. */ cidrBlock?: string; clientToken?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vSwitchName?: string; /** * @remarks * This parameter is required. */ vpcId?: string; /** * @remarks * This parameter is required. */ zoneId?: string; static names(): { [key: string]: string } { return { cidrBlock: 'CidrBlock', clientToken: 'ClientToken', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vSwitchName: 'VSwitchName', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { cidrBlock: 'string', clientToken: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vSwitchName: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVSwitchResponseBody extends $tea.Model { requestId?: string; vSwitchId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { requestId: 'string', vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVSwitchResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateVSwitchResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateVSwitchResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVirtualBorderRouterRequest extends $tea.Model { circuitCode?: string; clientToken?: string; description?: string; localGatewayIp?: string; name?: string; ownerAccount?: string; ownerId?: number; peerGatewayIp?: string; peeringSubnetMask?: string; /** * @remarks * This parameter is required. */ physicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; vbrOwnerId?: number; /** * @remarks * This parameter is required. */ vlanId?: number; static names(): { [key: string]: string } { return { circuitCode: 'CircuitCode', clientToken: 'ClientToken', description: 'Description', localGatewayIp: 'LocalGatewayIp', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', peerGatewayIp: 'PeerGatewayIp', peeringSubnetMask: 'PeeringSubnetMask', physicalConnectionId: 'PhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', vbrOwnerId: 'VbrOwnerId', vlanId: 'VlanId', }; } static types(): { [key: string]: any } { return { circuitCode: 'string', clientToken: 'string', description: 'string', localGatewayIp: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', peerGatewayIp: 'string', peeringSubnetMask: 'string', physicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', vbrOwnerId: 'number', vlanId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVirtualBorderRouterResponseBody extends $tea.Model { requestId?: string; vbrId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', vbrId: 'VbrId', }; } static types(): { [key: string]: any } { return { requestId: 'string', vbrId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVirtualBorderRouterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateVirtualBorderRouterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateVirtualBorderRouterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVpcRequest extends $tea.Model { cidrBlock?: string; clientToken?: string; description?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; vpcName?: string; static names(): { [key: string]: string } { return { cidrBlock: 'CidrBlock', clientToken: 'ClientToken', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', vpcName: 'VpcName', }; } static types(): { [key: string]: any } { return { cidrBlock: 'string', clientToken: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', vpcName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVpcResponseBody extends $tea.Model { requestId?: string; routeTableId?: string; VRouterId?: string; vpcId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', routeTableId: 'RouteTableId', VRouterId: 'VRouterId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { requestId: 'string', routeTableId: 'string', VRouterId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateVpcResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: CreateVpcResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: CreateVpcResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeactivateRouterInterfaceRequest extends $tea.Model { ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routerInterfaceId?: string; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeactivateRouterInterfaceResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeactivateRouterInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeactivateRouterInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeactivateRouterInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteActivationRequest extends $tea.Model { /** * @remarks * The ID of the request. * * This parameter is required. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F1234**** */ activationId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the activation code. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { activationId: 'ActivationId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { activationId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteActivationResponseBody extends $tea.Model { /** * @remarks * The time when the activation code was created. */ activation?: DeleteActivationResponseBodyActivation; /** * @remarks * Details of the activation code and its usage information. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F74942176 */ requestId?: string; static names(): { [key: string]: string } { return { activation: 'Activation', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { activation: DeleteActivationResponseBodyActivation, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteActivationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteActivationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteActivationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoProvisioningGroupRequest extends $tea.Model { /** * @remarks * The ID of the auto provisioning group. * * This parameter is required. * * @example * apg-bpuf6jel2bbl62wh13**** */ autoProvisioningGroupId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the auto provisioning group. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to release instances in the auto provisioning group. Valid values: * * * true * * false * * > By default, this parameter inherits the value of `TerminateInstances` that you specified when you call the `CreateAutoProvisioningGroup` operation to create an auto provisioning group. You can also change the value of `TerminateInstances` when you call the DeleteAutoProvisioningGroup operation to delete the auto provisioning group. * * @example * true */ terminateInstances?: boolean; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', terminateInstances: 'TerminateInstances', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', terminateInstances: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoProvisioningGroupResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * B48A12CD-1295-4A38-A8F0-0E92C937**** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoProvisioningGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteAutoProvisioningGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteAutoProvisioningGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoSnapshotPolicyRequest extends $tea.Model { /** * @example * 155780923770 */ ownerId?: number; /** * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @example * 155780923770 */ resourceOwnerId?: number; /** * @remarks * The ID of the automatic snapshot policy. You can call the [DescribeAutoSnapshotPolicyEx](https://help.aliyun.com/document_detail/25530.html) operation to query the available automatic snapshot policies. * * This parameter is required. * * @example * sp-bp14yziiuvu3s6jn**** */ autoSnapshotPolicyId?: string; /** * @remarks * The region ID of the automatic snapshot policy. 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; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', autoSnapshotPolicyId: 'autoSnapshotPolicyId', regionId: 'regionId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', autoSnapshotPolicyId: 'string', regionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoSnapshotPolicyResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteAutoSnapshotPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteAutoSnapshotPolicyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteAutoSnapshotPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteBandwidthPackageRequest extends $tea.Model { /** * @remarks * This parameter is required. */ bandwidthPackageId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteBandwidthPackageResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteBandwidthPackageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteBandwidthPackageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteBandwidthPackageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteCommandRequest extends $tea.Model { /** * @remarks * The ID of the command. You can call the [DescribeCommands](https://help.aliyun.com/document_detail/64843.html) operation to query all available command IDs. * * This parameter is required. * * @example * c-4d34302d02424c5c8e10281e3a31**** */ commandId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the command. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { commandId: 'CommandId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { commandId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteCommandResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteCommandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteCommandResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteCommandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDedicatedHostClusterRequest extends $tea.Model { /** * @remarks * The ID of the dedicated host cluster. * * This parameter is required. * * @example * dc-bp12wlf6am0vz9v2**** */ dedicatedHostClusterId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the dedicated host cluster. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDedicatedHostClusterResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 11B55F58-D3A4-4A9B-9596-342420D02FF8 */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDedicatedHostClusterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDedicatedHostClusterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDedicatedHostClusterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDemandRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the value that is unique among different requests. The `ClientToken` value can only contain 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 * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ clientToken?: string; /** * @remarks * The ID of the requirement. * * This parameter is required. * * @example * ed-bp11n21kq00sl71p**** */ demandId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The reason for deleting the filing form. Enter details. * * @example * test-reason */ reason?: string; /** * @remarks * The region ID of the filed instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', demandId: 'DemandId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', reason: 'Reason', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', demandId: 'string', ownerAccount: 'string', ownerId: 'number', reason: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDemandResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDemandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDemandResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDemandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDeploymentSetRequest extends $tea.Model { /** * @remarks * The ID of the deployment set that you want to delete. * * This parameter is required. * * @example * ds-bp1g5ahlkal88d7x**** */ deploymentSetId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the deployment set. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { deploymentSetId: 'DeploymentSetId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { deploymentSetId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDeploymentSetResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDeploymentSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDeploymentSetResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDeploymentSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticMetricSetsRequest extends $tea.Model { /** * @remarks * The ID of diagnostic metric set. * * This parameter is required. */ metricSetIds?: string[]; /** * @remarks * The IDs of diagnostic metric sets. You can specify up to 10 set IDs. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; static names(): { [key: string]: string } { return { metricSetIds: 'MetricSetIds', regionId: 'RegionId', }; } static types(): { [key: string]: any } { return { metricSetIds: { 'type': 'array', 'itemType': 'string' }, regionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticMetricSetsResponseBody extends $tea.Model { /** * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticMetricSetsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDiagnosticMetricSetsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDiagnosticMetricSetsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticReportsRequest extends $tea.Model { /** * @remarks * The region ID of the diagnostic report. 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 IDs of diagnostic reports. You can specify up to 100 report IDs. * * This parameter is required. */ reportIds?: string[]; static names(): { [key: string]: string } { return { regionId: 'RegionId', reportIds: 'ReportIds', }; } static types(): { [key: string]: any } { return { regionId: 'string', reportIds: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticReportsResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiagnosticReportsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDiagnosticReportsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDiagnosticReportsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiskRequest extends $tea.Model { /** * @remarks * The ID of the disk that you want to release. * * This parameter is required. * * @example * d-bp14k9cxvr5uzy5**** */ diskId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { diskId: 'DiskId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { diskId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiskResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteDiskResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteForwardEntryRequest extends $tea.Model { /** * @remarks * This parameter is required. */ forwardEntryId?: string; /** * @remarks * This parameter is required. */ forwardTableId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { forwardEntryId: 'ForwardEntryId', forwardTableId: 'ForwardTableId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { forwardEntryId: 'string', forwardTableId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteForwardEntryResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteForwardEntryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteForwardEntryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteForwardEntryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHaVipRequest extends $tea.Model { clientToken?: string; /** * @remarks * This parameter is required. */ haVipId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', haVipId: 'HaVipId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', haVipId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHaVipResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHaVipResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteHaVipResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteHaVipResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHpcClusterRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The **ClientToken** value must 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The ID of the HPC cluster. * * This parameter is required. * * @example * hpc-cxvr5uzy54j0ya**** */ hpcClusterId?: string; /** * @example * EcsforCloud@Alibaba.com */ ownerAccount?: string; /** * @example * 155780923770 */ ownerId?: number; /** * @remarks * The region ID of the HPC cluster. 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; /** * @example * EcsforCloud */ resourceOwnerAccount?: string; /** * @example * 155780923770 */ resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', hpcClusterId: 'HpcClusterId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', hpcClusterId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHpcClusterResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteHpcClusterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteHpcClusterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteHpcClusterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageRequest extends $tea.Model { /** * @remarks * Specifies whether to forcefully delete the custom image. Valid values: * * * true: forcefully deletes the custom image, regardless of whether the image is being used by other instances. * * false: verifies that the custom image is not being used by other instances and then deletes the image. * * Default value: false. * * @example * false */ force?: boolean; /** * @remarks * The ID of the image. If the specified custom image does not exist, the request is ignored. * * This parameter is required. * * @example * m-bp67acfmxazb4p**** */ imageId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the custom image. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { force: 'Force', imageId: 'ImageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { force: 'boolean', imageId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageComponentRequest extends $tea.Model { /** * @remarks * The ID of the image component. * * This parameter is required. * * @example * ic-bp67acfmxazb4p**** */ imageComponentId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image component. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { imageComponentId: 'ImageComponentId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { imageComponentId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageComponentResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImageComponentResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteImageComponentResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteImageComponentResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImagePipelineRequest extends $tea.Model { /** * @remarks * The ID of the image template. * * This parameter is required. * * @example * ip-2ze5tsl5bp6nf2b3**** */ imagePipelineId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image template. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { imagePipelineId: 'ImagePipelineId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { imagePipelineId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImagePipelineResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteImagePipelineResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteImagePipelineResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteImagePipelineResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstanceRequest extends $tea.Model { /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and unavailable ECS resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned. * * false (default): performs a dry run and performs the actual request. If the request passes the dry run, the instance is released. * * @example * false */ dryRun?: boolean; /** * @remarks * Specifies whether to forcefully release the instance in the **Running** (`Running`) state. Valid values: * * * true: forcefully releases the instance in the **Running** (`Running`) state. This operation is equivalent to the power-off operation. Cache data that is not written to persistent storage will be lost. * * false: normally releases the instance. This value take effects only if the instance is in the **Stopped** (`Stopped`) state. * * Default value: false. * * @example * false */ force?: boolean; /** * @remarks * The ID of the instance. * * This parameter is required. * * @example * i-bp1g6zv0ce8oghu7**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to release the expired subscription instance. Valid values: * * * true * * false * * Default value: false. * * @example * false */ terminateSubscription?: boolean; static names(): { [key: string]: string } { return { dryRun: 'DryRun', force: 'Force', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', terminateSubscription: 'TerminateSubscription', }; } static types(): { [key: string]: any } { return { dryRun: 'boolean', force: 'boolean', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', terminateSubscription: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstanceResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteInstanceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstancesRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * Specifies whether to perform only a dry run without performing the actual request. Default value: false. Valid values: * * * true: performs only a dry run. The system checks whether your AccessKey pair is valid, whether RAM users are granted permissions, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DRYRUN.SUCCESS error code is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * @example * false */ dryRun?: boolean; /** * @remarks * Specifies whether to forcefully release the instance that is in the **Running** (`Running`) state. Default value: false. Valid values: * * * true: forcefully releases the instance that is in the **Running** (`Running`) state. When the Force parameter is set to true, this operation is equivalent to a power-off operation. Temporary data in the memory and storage of the instance is erased and cannot be restored. * * false: normally releases the instance. This value is valid only for instances that are in the **Stopped** (`Stopped`) state. * * @example * false */ force?: boolean; /** * @remarks * The IDs of instances. You can specify up to 100 instance IDs in a single request. * * This parameter is required. * * @example * i-bp1g6zv0ce8oghu7**** */ instanceId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to release an expired subscription instance. * * Default value: false. * * @example * false */ terminateSubscription?: boolean; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', dryRun: 'DryRun', force: 'Force', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', terminateSubscription: 'TerminateSubscription', }; } static types(): { [key: string]: any } { return { clientToken: 'string', dryRun: 'boolean', force: 'boolean', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', terminateSubscription: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstancesResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 7B7813C6-57BF-41XX-B12B-F172F65A6046 */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteKeyPairsRequest extends $tea.Model { /** * @remarks * The names of SSH key pairs. The value can be a JSON array that consists of up to 100 SSH key pair names. Separate the names with commas (,). * * > Before you delete an SSH key pair, you can call the [DescribeKeyPairs](https://help.aliyun.com/document_detail/51773.html) operation to query existing key pairs. * * This parameter is required. * * @example * ["skp-bp67acfmxazb41****", "skp-bp67acfmxazb42****", … "skp-bp67acfmxazb4p3***"] */ keyPairNames?: string; ownerId?: number; /** * @remarks * The ID of the region. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { keyPairNames: 'KeyPairNames', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { keyPairNames: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteKeyPairsResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteKeyPairsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteKeyPairsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteKeyPairsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateRequest extends $tea.Model { /** * @remarks * The ID of the launch template. For more information, see [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html). * * You must specify `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * lt-bp1apo0bbbkuy0rj**** */ launchTemplateId?: string; /** * @remarks * The name of the launch template. * * You must specify `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * testLaunchTemplateName */ launchTemplateName?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the launch template. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', launchTemplateName: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateResponseBody extends $tea.Model { /** * @remarks * The ID of the launch template. For more information, see [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html). * * You must specify `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * lt-bp1apo0bbbkuy0rj**** */ launchTemplateId?: string; /** * @remarks * The versions of the deleted launch template. */ launchTemplateVersionNumbers?: DeleteLaunchTemplateResponseBodyLaunchTemplateVersionNumbers; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateVersionNumbers: 'LaunchTemplateVersionNumbers', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', launchTemplateVersionNumbers: DeleteLaunchTemplateResponseBodyLaunchTemplateVersionNumbers, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteLaunchTemplateResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteLaunchTemplateResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateVersionRequest extends $tea.Model { /** * @remarks * The version numbers of the launch template. * * This parameter is required. * * @example * 2 */ deleteVersion?: number[]; /** * @remarks * The ID of the launch template. For more information, call the [DescribeLaunchTemplates](https://help.aliyun.com/document_detail/73759.html) operation. * * @example * lt-bp1apo0bbbkuy0rj**** */ launchTemplateId?: string; /** * @remarks * The name of the launch template. * * @example * testLaunchTemplateName */ launchTemplateName?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the launch template. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { deleteVersion: 'DeleteVersion', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { deleteVersion: { 'type': 'array', 'itemType': 'number' }, launchTemplateId: 'string', launchTemplateName: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateVersionResponseBody extends $tea.Model { /** * @remarks * The deleted launch template versions. */ launchTemplateVersions?: DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersions; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { launchTemplateVersions: 'LaunchTemplateVersions', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { launchTemplateVersions: DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersions, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateVersionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteLaunchTemplateVersionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteLaunchTemplateVersionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNatGatewayRequest extends $tea.Model { /** * @remarks * This parameter is required. */ natGatewayId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { natGatewayId: 'NatGatewayId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { natGatewayId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNatGatewayResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNatGatewayResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteNatGatewayResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteNatGatewayResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfaceRequest extends $tea.Model { /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * eni-bp14v2sdd3v8htln**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the ENI. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfaceResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * F3CD6886-D8D0-4FEE-B93E-1B73239673DE */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteNetworkInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteNetworkInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfacePermissionRequest extends $tea.Model { force?: boolean; /** * @remarks * This parameter is required. */ networkInterfacePermissionId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { force: 'Force', networkInterfacePermissionId: 'NetworkInterfacePermissionId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { force: 'boolean', networkInterfacePermissionId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfacePermissionResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteNetworkInterfacePermissionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteNetworkInterfacePermissionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteNetworkInterfacePermissionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePhysicalConnectionRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ physicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', physicalConnectionId: 'PhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', physicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePhysicalConnectionResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeletePhysicalConnectionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeletePhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePrefixListRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the prefix list. * * This parameter is required. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string; /** * @remarks * The region ID of the prefix list. 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-chengdu */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListId: 'PrefixListId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', prefixListId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePrefixListResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 38793DB8-A4B2-4AEC-BFD3-111234E9188D */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeletePrefixListResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeletePrefixListResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeletePrefixListResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouteEntryRequest extends $tea.Model { /** * @remarks * This parameter is required. */ destinationCidrBlock?: string; nextHopId?: string; nextHopList?: DeleteRouteEntryRequestNextHopList[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routeTableId?: string; static names(): { [key: string]: string } { return { destinationCidrBlock: 'DestinationCidrBlock', nextHopId: 'NextHopId', nextHopList: 'NextHopList', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routeTableId: 'RouteTableId', }; } static types(): { [key: string]: any } { return { destinationCidrBlock: 'string', nextHopId: 'string', nextHopList: { 'type': 'array', 'itemType': DeleteRouteEntryRequestNextHopList }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routeTableId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouteEntryResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouteEntryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteRouteEntryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteRouteEntryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouterInterfaceRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ routerInterfaceId?: string; userCidr?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouterInterfaceResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouterInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteRouterInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteRouterInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSecurityGroupRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the security 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The security group ID. You can call the [DescribeSecurityGroups](https://help.aliyun.com/document_detail/25556.html) operation to query the security group ID. * * This parameter is required. * * @example * sg-bp1fg655nh68xyz9**** */ securityGroupId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSecurityGroupResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteSecurityGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotRequest extends $tea.Model { /** * @remarks * Specifies whether to force delete the snapshot that has been used to create cloud disks. Valid values: * * * true: force deletes the snapshot. After the snapshot is force deleted, the cloud disks created from the snapshot cannot be re-initialized. * * false: does not force delete the snapshot. * * Default value: false. * * @example * false */ force?: boolean; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The snapshot ID. * * This parameter is required. * * @example * s-bp1c0doj0taqyzzl**** */ snapshotId?: string; static names(): { [key: string]: string } { return { force: 'Force', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { force: 'boolean', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteSnapshotResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteSnapshotResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the snapshot-consistent 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the snapshot-consistent group. You can call the [DescribeSnapshotGroups](https://help.aliyun.com/document_detail/210940.html) operation to query the IDs of one or more snapshot-consistent groups. * * This parameter is required. * * @example * ssg-j6c9lpuyxo2uxxny**** */ snapshotGroupId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotGroupId: 'SnapshotGroupId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponseBody extends $tea.Model { /** * @remarks * Details about the delete operation. */ operationProgressSet?: DeleteSnapshotGroupResponseBodyOperationProgressSet; /** * @remarks * The ID of the request. * * @example * 6EDE885A-FDC1-4FAE-BC44-6EACAEA6CC6E */ requestId?: string; static names(): { [key: string]: string } { return { operationProgressSet: 'OperationProgressSet', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { operationProgressSet: DeleteSnapshotGroupResponseBodyOperationProgressSet, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteSnapshotGroupResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteSnapshotGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteStorageSetRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The value of **ClientToken** 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @example * hide */ ownerAccount?: string; /** * @example * 111 */ ownerId?: number; /** * @remarks * The region ID of the storage set. 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; /** * @example * hide */ resourceOwnerAccount?: string; /** * @example * 111 */ resourceOwnerId?: number; /** * @remarks * The ID of the storage set. * * This parameter is required. * * @example * ss-bp67acfmxazb4p**** */ storageSetId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageSetId: 'StorageSetId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageSetId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteStorageSetResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteStorageSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteStorageSetResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteStorageSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVSwitchRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ vSwitchId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVSwitchResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVSwitchResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteVSwitchResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteVSwitchResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVirtualBorderRouterRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; /** * @remarks * This parameter is required. */ vbrId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', vbrId: 'VbrId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', vbrId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVirtualBorderRouterResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVirtualBorderRouterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteVirtualBorderRouterResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteVirtualBorderRouterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVpcRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ vpcId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVpcResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteVpcResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeleteVpcResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeleteVpcResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeregisterManagedInstanceRequest extends $tea.Model { /** * @remarks * The managed instance ID. * * This parameter is required. * * @example * mi-hz01axdfas**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the managed instance. Supported regions: China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), Singapore, Japan (Tokyo), US (Silicon Valley), and US (Virginia). * * 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeregisterManagedInstanceResponseBody extends $tea.Model { /** * @remarks * The managed instance. */ instance?: DeregisterManagedInstanceResponseBodyInstance; /** * @remarks * The request ID. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F74942176 */ requestId?: string; static names(): { [key: string]: string } { return { instance: 'Instance', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instance: DeregisterManagedInstanceResponseBodyInstance, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeregisterManagedInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DeregisterManagedInstanceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DeregisterManagedInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsRequest extends $tea.Model { filter?: DescribeAccessPointsRequestFilter[]; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; type?: string; static names(): { [key: string]: string } { return { filter: 'Filter', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', type: 'Type', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeAccessPointsRequestFilter }, ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsResponseBody extends $tea.Model { accessPointSet?: DescribeAccessPointsResponseBodyAccessPointSet; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { accessPointSet: 'AccessPointSet', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { accessPointSet: DescribeAccessPointsResponseBodyAccessPointSet, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAccessPointsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAccessPointsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesRequest extends $tea.Model { /** * @remarks * The type of resource quota N. Valid values of N: 1 to 8. Valid values: * * * instance-network-type: the available network types. * * * max-security-groups: the maximum number of security groups. * * * max-elastic-network-interfaces: the maximum number of ENIs. * * * max-postpaid-instance-vcpu-count: the maximum number of vCPUs for pay-as-you-go instances. * * * max-spot-instance-vcpu-count: the maximum number of vCPUs for preemptible instances. * * * used-postpaid-instance-vcpu-count: the number of vCPUs that have been allocated to pay-as-you-go instances. * * * used-spot-instance-vcpu-count: the number of vCPUs that have been allocated to preemptible instances. * * * max-postpaid-yundisk-capacity: the maximum capacity of pay-as-you-go data disks. (The value is deprecated.) * * * used-postpaid-yundisk-capacity: the capacity of pay-as-you-go data disks that have been created. (The value is deprecated.) * * * max-dedicated-hosts: the maximum number of dedicated hosts. * * * supported-postpaid-instance-types: the instance types of pay-as-you-go I/O optimized instances. * * * max-axt-command-count: the maximum number of Cloud Assistant commands. * * * max-axt-invocation-daily: the maximum number of Cloud Assistant command executions per day. * * * real-name-authentication: whether the account has completed the real-name verification. * * ** * * **Note** To create an ECS instance in a region in the Chinese mainland, you must complete the real-name verification. * * * max-cloud-assistant-activation-count: the maximum number of activation codes that can be created to use to register managed instances. * * This parameter is empty by default. * * @example * max-security-groups */ attributeName?: string[]; ownerId?: number; /** * @remarks * The ID of the region. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the zone in which the resource resides. * * @example * cn-hangzhou-b */ zoneId?: string; static names(): { [key: string]: string } { return { attributeName: 'AttributeName', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { attributeName: { 'type': 'array', 'itemType': 'string' }, ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponseBody extends $tea.Model { /** * @remarks * Details about account privileges in the specified region. */ accountAttributeItems?: DescribeAccountAttributesResponseBodyAccountAttributeItems; /** * @remarks * The ID of the request. * * @example * 8CE45CD5-31FB-47C2-959D-CA8144CE**** */ requestId?: string; static names(): { [key: string]: string } { return { accountAttributeItems: 'AccountAttributeItems', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { accountAttributeItems: DescribeAccountAttributesResponseBodyAccountAttributeItems, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAccountAttributesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAccountAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsRequest extends $tea.Model { /** * @remarks * The ID of the activation code. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F1234**** */ activationId?: string; /** * @remarks * The default instance name prefix. * * @example * test-InstanceName */ instanceName?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the command. Supported regions: China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Heyuan), and China (Hong Kong). * * 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 the activation code belongs. * * @example * rg-123****** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the activation code. */ tag?: DescribeActivationsRequestTag[]; static names(): { [key: string]: string } { return { activationId: 'ActivationId', instanceName: 'InstanceName', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { activationId: 'string', instanceName: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeActivationsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsResponseBody extends $tea.Model { /** * @remarks * The activation codes and their usage information. */ activationList?: DescribeActivationsResponseBodyActivationList[]; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F74625134 */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { activationList: 'ActivationList', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { activationList: { 'type': 'array', 'itemType': DescribeActivationsResponseBodyActivationList }, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeActivationsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeActivationsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryRequest extends $tea.Model { /** * @remarks * The ID of the auto provisioning group. * * This parameter is required. * * @example * apg-bp67acfmxazb4p**** */ autoProvisioningGroupId?: string; /** * @remarks * The end of the time range of the queried data. The time follows the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. * * @example * 2019-06-20T15:10:20Z */ endTime?: string; /** * @example * 123456 */ ownerAccount?: string; /** * @example * 123456 */ ownerId?: number; /** * @remarks * The page number of the returned page. Pages start from page 1. * * Default value: 1 * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. Maximum value: 100. * * Default value: 10. * * @example * 5 */ pageSize?: number; /** * @remarks * The region ID of the auto provisioning group. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @example * 123456 */ resourceOwnerAccount?: string; /** * @example * 123456 */ resourceOwnerId?: number; /** * @remarks * The beginning of the time range of the queried data. The time follows the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. * * @example * 2019-04-01T15:10:20Z */ startTime?: string; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', endTime: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponseBody extends $tea.Model { /** * @remarks * An array consisting of AutoProvisioningGroupHistory data. */ autoProvisioningGroupHistories?: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistories; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * B48A12CD-1295-4A38-A8F0-0E92C937**** */ requestId?: string; /** * @remarks * The number of queried scheduling tasks in the auto provisioning group. * * @example * 10 */ totalCount?: number; static names(): { [key: string]: string } { return { autoProvisioningGroupHistories: 'AutoProvisioningGroupHistories', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupHistories: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistories, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAutoProvisioningGroupHistoryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAutoProvisioningGroupHistoryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupInstancesRequest extends $tea.Model { /** * @remarks * The ID of the auto provisioning group. * * This parameter is required. * * @example * apg-uf6jel2bbl62wh13**** */ autoProvisioningGroupId?: string; /** * @example * 123456 */ ownerAccount?: string; /** * @example * 123456 */ ownerId?: number; /** * @remarks * The number of the page to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of 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; /** * @example * 123456 */ resourceOwnerAccount?: string; /** * @example * 123456 */ resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupInstancesResponseBody extends $tea.Model { /** * @remarks * An array consisting of Instance data. */ instances?: DescribeAutoProvisioningGroupInstancesResponseBodyInstances; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * B48A12CD-1295-4A38-A8F0-0E92C937**** */ requestId?: string; /** * @remarks * The number of queried instances in the auto provisioning group. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { instances: 'Instances', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instances: DescribeAutoProvisioningGroupInstancesResponseBodyInstances, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAutoProvisioningGroupInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAutoProvisioningGroupInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsRequest extends $tea.Model { /** * @remarks * The ID of the auto provisioning group. You can specify up to 20 IDs. * * @example * apg-sn54avj8htgvtyh8**** */ autoProvisioningGroupId?: string[]; /** * @remarks * The name of the auto provisioning group. * * @example * testAutoProvisioningGroupName */ autoProvisioningGroupName?: string; /** * @remarks * The status of the auto provisioning group. * * @example * active */ autoProvisioningGroupStatus?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 2 */ pageSize?: number; /** * @remarks * The region ID of the auto provisioning group. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource group to which the auto provisioning group belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags that are added to the auto provisioning group. */ tag?: DescribeAutoProvisioningGroupsRequestTag[]; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', autoProvisioningGroupName: 'AutoProvisioningGroupName', autoProvisioningGroupStatus: 'AutoProvisioningGroupStatus', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: { 'type': 'array', 'itemType': 'string' }, autoProvisioningGroupName: 'string', autoProvisioningGroupStatus: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBody extends $tea.Model { /** * @remarks * Details about the auto provisioning groups. */ autoProvisioningGroups?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroups; /** * @remarks * The number of the page returned. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 745CEC9F-0DD7-4451-9FE7-8B752F39**** */ requestId?: string; /** * @remarks * The number of queried auto provisioning groups. * * @example * 10 */ totalCount?: number; static names(): { [key: string]: string } { return { autoProvisioningGroups: 'AutoProvisioningGroups', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { autoProvisioningGroups: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroups, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAutoProvisioningGroupsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAutoProvisioningGroupsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExRequest extends $tea.Model { /** * @remarks * The ID of the automatic snapshot policy. * * @example * sp-bp67acfmxazb4ph**** */ autoSnapshotPolicyId?: string; /** * @remarks * The name of the automatic snapshot policy. * * @example * TestName */ autoSnapshotPolicyName?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1 * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10 * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the automatic snapshot policy. 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. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-aek2kkmhmhs**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the automatic snapshot policy. */ tag?: DescribeAutoSnapshotPolicyExRequestTag[]; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', autoSnapshotPolicyName: 'AutoSnapshotPolicyName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', autoSnapshotPolicyName: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeAutoSnapshotPolicyExRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBody extends $tea.Model { /** * @remarks * Details about the automatic snapshot policies. */ autoSnapshotPolicies?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPolicies; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of automatic snapshot policies * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { autoSnapshotPolicies: 'AutoSnapshotPolicies', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicies: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPolicies, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAutoSnapshotPolicyExResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAutoSnapshotPolicyExResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceRequest extends $tea.Model { /** * @remarks * The number of vCPUs of the instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * The Cores parameter takes effect only when the DestinationResource parameter is set to InstanceType. * * @example * 2 */ cores?: number; /** * @remarks * The category of the data disk. Valid values: * * * cloud: basic disk * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * ephemeral_ssd: local SSD * * cloud_essd: ESSD * * cloud_auto: ESSD AutoPL disk * * @example * cloud_ssd */ dataDiskCategory?: string; /** * @remarks * The ID of the dedicated host. * * @example * dh-bp165p6xk2tlw61e**** */ dedicatedHostId?: string; /** * @remarks * The resource type to query. Valid values: * * * Zone: zone. * * IoOptimized: I/O optimized resource. * * InstanceType: instance type. * * SystemDisk: system disk. * * DataDisk: data disk. * * Network: network type. * * ddh: dedicated host. * * For more information about how to configure the DestinationResource parameter, see the **Description** section of this topic. * * This parameter is required. * * @example * InstanceType */ destinationResource?: string; /** * @remarks * The billing method of the resource. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). Valid values: * * * PrePaid: subscription. * * PostPaid: pay-as-you-go. * * Default value: PostPaid. * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The instance types. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent instance type list. * * For more information about how to configure the InstanceType parameter, see the **Description** section of this topic. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * Specifies whether the instance is an I/O optimized instance. Valid values: * * * none: The instance is a non-I/O optimized instance. * * optimized: The instance is an I/O optimized instance. * * Default value: optimized. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The memory size of the instance type. Unit: GiB. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * The Memory parameter takes effect only when the DestinationResource parameter is set to InstanceType. * * @example * 8.0 */ memory?: number; /** * @remarks * The network type of the cluster. Valid values: * * * vpc * * classic * * @example * vpc */ networkCategory?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region for which to query resources. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource. Valid values: * * * instance: ECS instance. * * disk: cloud disk. * * reservedinstance: reserved instance. * * ddh: dedicated host. * * @example * instance */ resourceType?: string; /** * @remarks * The scope of the reserved instance. Valid values: * * * Region: regional. * * Zone: zonal. * * @example * Region */ scope?: string; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements. * * > This parameter takes effect only if SpotStrategy is set to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The bidding policy for pay-as-you-go instances. Valid values: * * * NoSpot: The instance is a pay-as-you-go instance. * * SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price. * * SpotAsPriceGo: The instance is a preemptible instance for which the market price is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * Default value: NoSpot. * * The SpotStrategy parameter takes effect only when the InstanceChargeType parameter is set to PostPaid. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The category of the system disk. Valid values: * * * cloud: basic disk * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * ephemeral_ssd: local SSD * * cloud_essd: Enterprise SSD (ESSD) * * cloud_auto: ESSD AutoPL disk * * Default value: cloud_efficiency. * * > This parameter must be specified when ResourceType is set to instance and DestinationResource is set to DataDisk. If you do not specify this parameter, the default value takes effect. * * @example * cloud_ssd */ systemDiskCategory?: string; /** * @remarks * The ID of the zone where the instance resides. * * This parameter is empty by default. When this parameter is empty, the system returns resources that match the other criteria in all zones within the region specified by `RegionId`. * * @example * cn-hangzhou-e */ zoneId?: string; static names(): { [key: string]: string } { return { cores: 'Cores', dataDiskCategory: 'DataDiskCategory', dedicatedHostId: 'DedicatedHostId', destinationResource: 'DestinationResource', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', ioOptimized: 'IoOptimized', memory: 'Memory', networkCategory: 'NetworkCategory', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', scope: 'Scope', spotDuration: 'SpotDuration', spotStrategy: 'SpotStrategy', systemDiskCategory: 'SystemDiskCategory', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { cores: 'number', dataDiskCategory: 'string', dedicatedHostId: 'string', destinationResource: 'string', instanceChargeType: 'string', instanceType: 'string', ioOptimized: 'string', memory: 'number', networkCategory: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', scope: 'string', spotDuration: 'number', spotStrategy: 'string', systemDiskCategory: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBody extends $tea.Model { /** * @remarks * Details about the zones in which resources are available. */ availableZones?: DescribeAvailableResourceResponseBodyAvailableZones; /** * @remarks * The ID of the request. * * @example * 0041D94C-FB92-4C49-B115-259DA1C***** */ requestId?: string; static names(): { [key: string]: string } { return { availableZones: 'AvailableZones', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { availableZones: DescribeAvailableResourceResponseBodyAvailableZones, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeAvailableResourceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeAvailableResourceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthLimitationRequest extends $tea.Model { /** * @remarks * The billing method of the instance. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). Valid values: * * * PrePaid: subscription * * PostPaid: pay-as-you-go * * Default value: PostPaid. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance type. For information about the values, see [Overview of ECS instance families](https://help.aliyun.com/document_detail/25378.html). * * This parameter is required. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * Specifies the operation for which to query the maximum public bandwidth. Valid values: * * * Upgrade: upgrades the public bandwidth. * * Downgrade: downgrades the public bandwidth. * * Create: creates an ECS instance. * * Default value: Create. * * @example * Upgrade */ operationType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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 resource ID. * * > This parameter is required when the OperationType parameter is set to Upgrade or Downgrade. * * @example * i-bp67acfmxazb4ph*** */ resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The bidding policy for the pay-as-you-go instance. Valid values: * * * NoSpot: The instance is a pay-as-you-go instance. * * SpotWithPriceLimit: The instance is a preemptible instance for which you can specify the maximum hourly price. * * SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * Default value: NoSpot. * * > The SpotStrategy parameter takes effect only when the InstanceChargeType parameter is set to PostPaid. * * @example * NoSpot */ spotStrategy?: string; static names(): { [key: string]: string } { return { instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', operationType: 'OperationType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', spotStrategy: 'SpotStrategy', }; } static types(): { [key: string]: any } { return { instanceChargeType: 'string', instanceType: 'string', operationType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', spotStrategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthLimitationResponseBody extends $tea.Model { /** * @remarks * Details about the maximum public bandwidth. */ bandwidths?: DescribeBandwidthLimitationResponseBodyBandwidths; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { bandwidths: 'Bandwidths', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { bandwidths: DescribeBandwidthLimitationResponseBodyBandwidths, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthLimitationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeBandwidthLimitationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeBandwidthLimitationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesRequest extends $tea.Model { bandwidthPackageId?: string; natGatewayId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', natGatewayId: 'NatGatewayId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: 'string', natGatewayId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponseBody extends $tea.Model { bandwidthPackages?: DescribeBandwidthPackagesResponseBodyBandwidthPackages; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { bandwidthPackages: 'BandwidthPackages', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { bandwidthPackages: DescribeBandwidthPackagesResponseBodyBandwidthPackages, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeBandwidthPackagesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeBandwidthPackagesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesRequest extends $tea.Model { privatePoolOptions?: DescribeCapacityReservationInstancesRequestPrivatePoolOptions; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * 10 */ maxResults?: number; /** * @remarks * The ID of the capacity reservation. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of entries per page. * * Maximum value: 100. * * Default value: 10. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: DescribeCapacityReservationInstancesRequestPrivatePoolOptions, maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesResponseBody extends $tea.Model { /** * @remarks * The instance ID. */ capacityReservationItem?: DescribeCapacityReservationInstancesResponseBodyCapacityReservationItem; /** * @remarks * Details about the instances that match the capacity reservation. * * @example * 10 */ maxResults?: number; /** * @remarks * The request ID. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The total number of entries returned. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The maximum number of entries returned per page. * * @example * 10 */ totalCount?: number; static names(): { [key: string]: string } { return { capacityReservationItem: 'CapacityReservationItem', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { capacityReservationItem: DescribeCapacityReservationInstancesResponseBodyCapacityReservationItem, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeCapacityReservationInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeCapacityReservationInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsRequest extends $tea.Model { privatePoolOptions?: DescribeCapacityReservationsRequestPrivatePoolOptions; /** * @remarks * The billing method of the instance. Valid values: * * * PostPaid: pay-as-you-go. * * PrePaid: subscription. * * Default value: PostPaid. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance type. * * @example * ecs.c6.large */ instanceType?: string; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of the NextToken parameter. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The operating system of the instance. Valid values: * * * windows: Windows operating systems. * * linux: Linux operating systems. * * all: all operating system types. * * Default value: all. * * @example * linux */ platform?: string; /** * @remarks * The region ID of the capacity reservation. 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 the capacity reservation belongs. If you specify this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of whether you specify this parameter. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The state of the capacity reservation. Valid values: * * * All: All states. * * Pending: The capacity reservation is being initialized. Scheduled capacity reservations enter the Pending state after they are created. * * Preparing: The capacity reservation is being prepared. Scheduled capacity reservations are in the Preparing state while resources are being provisioned. * * Prepared: The capacity reservation is to take effect. After resources are provisioned, scheduled capacity reservations remain in the Prepared state until they take effect. * * Active: The capacity reservation is in effect. * * Released: The capacity reservation has been released manually or automatically when it expired. * * Default value: Active. * * @example * Active */ status?: string; /** * @remarks * The tags. */ tag?: DescribeCapacityReservationsRequestTag[]; /** * @remarks * The zone ID of the capacity reservation. * * @example * cn-hangzhou-h */ zoneId?: string; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: DescribeCapacityReservationsRequestPrivatePoolOptions, instanceChargeType: 'string', instanceType: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', tag: { 'type': 'array', 'itemType': DescribeCapacityReservationsRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBody extends $tea.Model { /** * @remarks * Details of the capacity reservations. */ capacityReservationSet?: DescribeCapacityReservationsResponseBodyCapacityReservationSet; /** * @remarks * The maximum number of entries returned per page. * * @example * 10 */ maxResults?: number; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results.If NextToken is empty, no next page exists. * * @example * caeba0bbb2be03f84eb48b699f0a**** */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { capacityReservationSet: 'CapacityReservationSet', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { capacityReservationSet: DescribeCapacityReservationsResponseBodyCapacityReservationSet, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeCapacityReservationsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeCapacityReservationsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClassicLinkInstancesRequest extends $tea.Model { /** * @remarks * The instance ID. You can specify a maximum of 100 instance IDs in a single request. Separate the instance IDs with commas (,). * * @example * i-bp1a5zr3u7nq9cxh**** */ instanceId?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: string; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: string; /** * @remarks * The region ID of the instances. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The VPC ID. The ClassicLink feature must be enabled for the specified VPC. For more information, see [Establish a ClassicLink connection](https://help.aliyun.com/document_detail/65413.html). * * @example * vpc-bp1vwnn14rqpyiczj**** */ vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerId: 'number', pageNumber: 'string', pageSize: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClassicLinkInstancesResponseBody extends $tea.Model { /** * @remarks * The details of the ClassicLink connections between the instances reside in the classic network and VPCs. */ links?: DescribeClassicLinkInstancesResponseBodyLinks; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of ClassicLink connections. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { links: 'Links', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { links: DescribeClassicLinkInstancesResponseBodyLinks, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClassicLinkInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeClassicLinkInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeClassicLinkInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The Cloud Assistant configurations. * * This parameter is required. */ settingType?: string[]; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', settingType: 'SettingType', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', settingType: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBody extends $tea.Model { /** * @remarks * The configurations for upgrading Cloud Assistant Agent. */ agentUpgradeConfig?: DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfig; /** * @remarks * The configurations for delivering items to Object Storage Service (OSS). */ ossDeliveryConfigs?: DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigs; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The configurations for delivering items to Simple Log Service. */ slsDeliveryConfigs?: DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigs; static names(): { [key: string]: string } { return { agentUpgradeConfig: 'AgentUpgradeConfig', ossDeliveryConfigs: 'OssDeliveryConfigs', requestId: 'RequestId', slsDeliveryConfigs: 'SlsDeliveryConfigs', }; } static types(): { [key: string]: any } { return { agentUpgradeConfig: DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfig, ossDeliveryConfigs: DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigs, requestId: 'string', slsDeliveryConfigs: DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigs, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeCloudAssistantSettingsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeCloudAssistantSettingsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantStatusRequest extends $tea.Model { /** * @remarks * The instance ID. * * @example * i-bp1iudwa5b1tqa**** */ instanceId?: string[]; /** * @remarks * The maximum number of entries per page. If you specify **InstanceId**, this parameter does not take effect. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The operating system type of the instance. Valid values: * * * Windows * * Linux * * FreeBSD * * @example * Windows */ OSType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. If you specify **InstanceId**, this parameter does not take effect. Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the instance. You can call [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', maxResults: 'MaxResults', nextToken: 'NextToken', OSType: 'OSType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, maxResults: 'number', nextToken: 'string', OSType: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantStatusResponseBody extends $tea.Model { /** * @remarks * Details about the installation status of Cloud Assistant on the instances. */ instanceCloudAssistantStatusSet?: DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSet; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instances. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceCloudAssistantStatusSet: 'InstanceCloudAssistantStatusSet', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceCloudAssistantStatusSet: DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSet, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeCloudAssistantStatusResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeCloudAssistantStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClustersRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClustersResponseBody extends $tea.Model { clusters?: DescribeClustersResponseBodyClusters; requestId?: string; static names(): { [key: string]: string } { return { clusters: 'Clusters', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { clusters: DescribeClustersResponseBodyClusters, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClustersResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeClustersResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeClustersResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsRequest extends $tea.Model { /** * @remarks * The ID of the command. * * @example * c-hz01272yr52**** */ commandId?: string; /** * @remarks * The encoding mode of the `CommandContent` and `Output` values in the response. Valid values: * * * PlainText: returns the original command content and command output. * * Base64: returns the Base64-encoded command content and command output. * * Default value: Base64. * * @example * PlainText */ contentEncoding?: string; /** * @remarks * The description of the command. * * If you specify `Provider`, fuzzy search is supported by default. * * If you do not specify `Provider`, prefix-based fuzzy search is supported. For example, if you specify `test*`, all commands whose descriptions start with `test` are queried. * * @example * testDescription */ description?: string; /** * @remarks * Specifies whether to query only the latest version of common commands when common commands are queried. This parameter does not affect the query for private commands. * * * true: queries only the latest version of common commands. * * false: queries all versions of common commands. * * Default value: false. * * @example * true */ latest?: boolean; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The name of the command. * * If you specify `Provider`, fuzzy search is supported by default. * * If you do not specify `Provider`, prefix-based fuzzy search is supported. For example, if you specify `command*`, all commands whose names start with `command` are queried. * * @example * testName */ name?: string; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The provider of the common command. Take note of the following items: * * * If you do not specify this parameter, all the commands that you created are queried. * * * If you set this parameter to `AlibabaCloud`, all the common commands provided by Alibaba Cloud are queried. * * * If you set this parameter to a specific provider, all the common commands provided by the provider are queried. Examples: * * * If you set `Provider` to AlibabaCloud.ECS.GuestOS, all the common commands provided by `AlibabaCloud.ECS.GuestOS` are queried. * * If you set `Provider` to AlibabaCloud.ECS.GuestOSDiagnose, all the common commands provided by `AlibabaCloud.ECS.GuestOSDiagnose` are queried. * * @example * AlibabaCloud */ provider?: string; /** * @remarks * The region ID of the command. 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 the command belongs. * * @example * rg-123****** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The list of tags. */ tag?: DescribeCommandsRequestTag[]; /** * @remarks * The type of the command. Valid values: * * * RunBatScript: batch command, applicable to Windows instances * * RunPowerShellScript: PowerShell command, applicable to Windows instances * * RunShellScript: shell command, applicable to Linux instances * * @example * RunShellScript */ type?: string; static names(): { [key: string]: string } { return { commandId: 'CommandId', contentEncoding: 'ContentEncoding', description: 'Description', latest: 'Latest', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', provider: 'Provider', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', type: 'Type', }; } static types(): { [key: string]: any } { return { commandId: 'string', contentEncoding: 'string', description: 'string', latest: 'boolean', maxResults: 'number', name: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', provider: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeCommandsRequestTag }, type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBody extends $tea.Model { /** * @remarks * The queried commands. */ commands?: DescribeCommandsResponseBodyCommands; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The total number of commands. * * @example * 5 */ totalCount?: number; static names(): { [key: string]: string } { return { commands: 'Commands', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { commands: DescribeCommandsResponseBodyCommands, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeCommandsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeCommandsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostAutoRenewRequest extends $tea.Model { /** * @remarks * The ID of the dedicated host. You can specify up to 100 subscription dedicated host IDs. Separate multiple IDs with commas (,). * * This parameter is required. * * @example * dh-bp165p6xk2tlw61e****,dh-bp1f9vxmno**** */ dedicatedHostIds?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region where the dedicated host resides. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dedicatedHostIds: 'DedicatedHostIds', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dedicatedHostIds: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostAutoRenewResponseBody extends $tea.Model { /** * @remarks * The array that consists of dedicated host auto-renewal attributes. */ dedicatedHostRenewAttributes?: DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributes; /** * @remarks * The request ID. * * @example * 04F0F334-1335-436C-A1D7-6C044FE73368 */ requestId?: string; static names(): { [key: string]: string } { return { dedicatedHostRenewAttributes: 'DedicatedHostRenewAttributes', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { dedicatedHostRenewAttributes: DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributes, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostAutoRenewResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDedicatedHostAutoRenewResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDedicatedHostAutoRenewResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersRequest extends $tea.Model { /** * @remarks * The IDs of dedicated host clusters. The value can be a JSON array that consists of up to 100 dedicated host cluster IDs in the format of `["dc-xxxxxxxxx", "dc-yyyyyyyyy", ... "dc-zzzzzzzzz"]`. Separate the IDs with commas (,). * * @example * ["dc-bp12wlf6am0vz9v2****", "dc-bp12wlf6am0vz9v3****"] */ dedicatedHostClusterIds?: string; /** * @remarks * The name of the dedicated host cluster. * * @example * myDDHCluster */ dedicatedHostClusterName?: string; /** * @remarks * > This parameter is unavailable for use. * * @example * null */ lockReason?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 5 */ pageSize?: number; /** * @remarks * The region ID of the dedicated host cluster. 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 the dedicated host cluster belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is unavailable for use. * * @example * null */ status?: string; /** * @remarks * The tags of the dedicated host cluster. */ tag?: DescribeDedicatedHostClustersRequestTag[]; /** * @remarks * The zone ID of the dedicated host cluster. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * @example * cn-hangzhou-f */ zoneId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterIds: 'DedicatedHostClusterIds', dedicatedHostClusterName: 'DedicatedHostClusterName', lockReason: 'LockReason', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterIds: 'string', dedicatedHostClusterName: 'string', lockReason: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', tag: { 'type': 'array', 'itemType': DescribeDedicatedHostClustersRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBody extends $tea.Model { /** * @remarks * Details about the dedicated host clusters. */ dedicatedHostClusters?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClusters; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 5 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 214A2187-B06F-4E49-A081-4D053466A8C7 */ requestId?: string; /** * @remarks * The total number of dedicated host clusters. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { dedicatedHostClusters: 'DedicatedHostClusters', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { dedicatedHostClusters: DescribeDedicatedHostClustersResponseBodyDedicatedHostClusters, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDedicatedHostClustersResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDedicatedHostClustersResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesRequest extends $tea.Model { /** * @remarks * The dedicated host type. For more information, see [Dedicated host types](https://help.aliyun.com/document_detail/68564.html). * * @example * ddh.sn1ne */ dedicatedHostType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ECS instance family supported by the dedicated host type. * * @example * ecs.sn1ne */ supportedInstanceTypeFamily?: string; static names(): { [key: string]: string } { return { dedicatedHostType: 'DedicatedHostType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', supportedInstanceTypeFamily: 'SupportedInstanceTypeFamily', }; } static types(): { [key: string]: any } { return { dedicatedHostType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', supportedInstanceTypeFamily: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponseBody extends $tea.Model { /** * @remarks * Details about the dedicated host types. */ dedicatedHostTypes?: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypes; /** * @remarks * The request ID. * * @example * 5FE5FF06-3A33-4658-8495-6445FC54E327 */ requestId?: string; static names(): { [key: string]: string } { return { dedicatedHostTypes: 'DedicatedHostTypes', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { dedicatedHostTypes: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypes, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDedicatedHostTypesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDedicatedHostTypesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsRequest extends $tea.Model { /** * @remarks * The ID of the dedicated host cluster. * * @example * dc-bp12wlf6am0vz9v2**** */ dedicatedHostClusterId?: string; /** * @remarks * The IDs of dedicated hosts. You can specify up to 100 dedicated host IDs in a single request. Separate the IDs with commas (,). * * @example * ["dh-bp165p6xk2tlw61e****", "dh-bp1f9vxmno7emy96****"] */ dedicatedHostIds?: string; /** * @remarks * The name of the dedicated host. * * @example * MyDDHTestName */ dedicatedHostName?: string; /** * @remarks * The dedicated host type. You can call the [DescribeDedicatedHostTypes](https://help.aliyun.com/document_detail/134240.html) operation to query the most recent list of dedicated host types. * * @example * ddh.g5 */ dedicatedHostType?: string; /** * @remarks * The reason why the dedicated host is locked. Valid values: * * * financial: The dedicated host is locked due to overdue payments. * * security: The dedicated host is locked due to security reasons. * * @example * financial */ lockReason?: string; /** * @remarks * The maximum number of entries per page. If you specify this parameter, both MaxResults and NextToken are used for a paged query. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * e71d8a535bd9cc11 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of entries per page. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the dedicated host. 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 the dedicated host belongs. When this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-aek3b6jzp66**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to display socket information. Valid values: * * * true * * false * * @example * true */ socketDetails?: string; /** * @remarks * The service state of the dedicated host. Valid values: * * * Available: The dedicated host is running normally. * * UnderAssessment: The dedicated host is available but has potential risks that may cause the ECS instances on the dedicated host to fail. * * PermanentFailure: The dedicated host encounters permanent failures and is unavailable. * * TempUnavailable: The dedicated host is temporarily unavailable. * * Redeploying: The dedicated host is being restored. * * Default value: Available. * * @example * Available */ status?: string; /** * @remarks * The tags of the dedicated host. */ tag?: DescribeDedicatedHostsRequestTag[]; /** * @remarks * The zone ID of the dedicated host. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostIds: 'DedicatedHostIds', dedicatedHostName: 'DedicatedHostName', dedicatedHostType: 'DedicatedHostType', lockReason: 'LockReason', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', socketDetails: 'SocketDetails', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', dedicatedHostIds: 'string', dedicatedHostName: 'string', dedicatedHostType: 'string', lockReason: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', socketDetails: 'string', status: 'string', tag: { 'type': 'array', 'itemType': DescribeDedicatedHostsRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBody extends $tea.Model { /** * @remarks * Details about the dedicated hosts. */ dedicatedHosts?: DescribeDedicatedHostsResponseBodyDedicatedHosts; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists. If the return value of this parameter is empty when you specify MaxResults and NextToken for a paged query, no more results are to be returned. * * @example * e71d8a535bd9cc11 */ nextToken?: string; /** * @remarks * The page number. * * @example * 5 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 7654525A-9964-4ABB-8BCD-98F8835E809A */ requestId?: string; /** * @remarks * The total number of dedicated hosts. * * @example * 3 */ totalCount?: number; static names(): { [key: string]: string } { return { dedicatedHosts: 'DedicatedHosts', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { dedicatedHosts: DescribeDedicatedHostsResponseBodyDedicatedHosts, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDedicatedHostsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDedicatedHostsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsRequest extends $tea.Model { /** * @remarks * The ID of the demand. If this parameter is specified, other optional request parameters are ignored. * * @example * ed-bp11n21kq00sl71p**** */ demandId?: string; /** * @remarks * The status of the demand or filed resources. Valid values: * * * Creating: The demand is being created. * * Active: The filed resources are being supplied. * * Expired: The demand has expired. * * Finished: The filed resources are consumed. * * Refused: The demand is rejected. To view the reason for rejection, see the `Comment` parameter in the response. * * Cancelled: The demand is canceled. * * @example * Active */ demandStatus?: string[]; /** * @remarks * The source of the instance. Valid values: * * * Custom: filed on your own. * * System (default): filed by Alibaba Cloud. * * @example * Custom */ demandType?: string; /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: Valid values: * * * true: performs only a dry run. The system checks whether your AccessKey pair is valid, whether RAM users are granted required permissions, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned. * * false (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * @example * false */ dryRun?: boolean; /** * @remarks * The billing method of the instance. Valid values: * * * PostPaid: pay-as-you-go. * * PrePaid: subscription. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance type of the instance. * * @example * ecs.g6.xlarge */ instanceType?: string; /** * @remarks * The instance family of the instance. * * @example * ecs.g6 */ instanceTypeFamily?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the resource. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags. */ tag?: DescribeDemandsRequestTag[]; /** * @remarks * The zone ID of the resource. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent region list. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { demandId: 'DemandId', demandStatus: 'DemandStatus', demandType: 'DemandType', dryRun: 'DryRun', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { demandId: 'string', demandStatus: { 'type': 'array', 'itemType': 'string' }, demandType: 'string', dryRun: 'boolean', instanceChargeType: 'string', instanceType: 'string', instanceTypeFamily: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeDemandsRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponseBody extends $tea.Model { /** * @remarks * The demands in the region. */ demands?: DescribeDemandsResponseBodyDemands; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the region. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The number of queried demands. * * @example * 6 */ totalCount?: number; static names(): { [key: string]: string } { return { demands: 'Demands', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { demands: DescribeDemandsResponseBodyDemands, pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDemandsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDemandsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetSupportedInstanceTypeFamilyRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The deployment strategy. Valid values: * * * Availability: high availability strategy * * AvailabilityGroup: high availability group strategy * * LowLatency: low latency strategy * * Default value: Availability. * * @example * Availability */ strategy?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', strategy: 'Strategy', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', strategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetSupportedInstanceTypeFamilyResponseBody extends $tea.Model { /** * @remarks * The instance families that support the deployment strategy. * * @example * ecs.i2g,ecs.i1,ecs.i2ne,ecs.i2gne */ instanceTypeFamilies?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B7DB-A3DC7DE1**** */ requestId?: string; static names(): { [key: string]: string } { return { instanceTypeFamilies: 'InstanceTypeFamilies', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceTypeFamilies: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetSupportedInstanceTypeFamilyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDeploymentSetSupportedInstanceTypeFamilyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDeploymentSetSupportedInstanceTypeFamilyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsRequest extends $tea.Model { /** * @remarks * The IDs of deployment sets. The value can be a JSON array that consists of deployment set IDs in the format of `["ds-xxxxxxxxx", "ds-yyyyyyyyy", ... "ds-zzzzzzzzz"]`. You can specify up to 100 deployment set IDs in each request. Separate the deployment set IDs with commas (,). * * @example * ["ds-bp67acfmxazb4ph****", "ds-bp67acfmxazb4pi****", … "ds-bp67acfmxazb4pj****"] */ deploymentSetIds?: string; /** * @remarks * The name of the deployment set. 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 digits, letters, colons (:), underscores (_), and hyphens (-). * * @example * testDeploymentSetName */ deploymentSetName?: string; /** * @remarks * > This parameter is deprecated. * * @example * null */ domain?: string; /** * @remarks * > This parameter is deprecated. * * @example * null */ granularity?: string; /** * @remarks * > This parameter is deprecated. * * @example * null */ networkType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the deployment set. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The deployment strategy. Valid values: * * * Availability: high availability strategy * * AvailabilityGroup: high availability group strategy * * @example * Availability */ strategy?: string; static names(): { [key: string]: string } { return { deploymentSetIds: 'DeploymentSetIds', deploymentSetName: 'DeploymentSetName', domain: 'Domain', granularity: 'Granularity', networkType: 'NetworkType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', strategy: 'Strategy', }; } static types(): { [key: string]: any } { return { deploymentSetIds: 'string', deploymentSetName: 'string', domain: 'string', granularity: 'string', networkType: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', strategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBody extends $tea.Model { /** * @remarks * Details about the deployment sets. */ deploymentSets?: DescribeDeploymentSetsResponseBodyDeploymentSets; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The ID of the region. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of queried deployment sets. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { deploymentSets: 'DeploymentSets', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { deploymentSets: DescribeDeploymentSetsResponseBodyDeploymentSets, pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDeploymentSetsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDeploymentSetsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricSetsRequest extends $tea.Model { /** * @remarks * The maximum number of entries to return on each page. Maximum value: 100. * * Default value: * * * If this parameter is left empty, the default value is 10. * * If this parameter is set to a value greater than 100, the default value is 100. * * @example * 10 */ maxResults?: number; /** * @remarks * The ID of diagnostic metric set N. */ metricSetIds?: string[]; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the last call to the DescribeDiagnosticMetricSets operation. Leave this parameter empty the first time you call this operation. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The region ID of the diagnostic metric set. 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 resource type supported by the diagnostic metric set. * * @example * instance */ resourceType?: string; /** * @remarks * The type of the diagnostic metric set. Valid values: * * * User: user-defined diagnostic metric set * * Common: common diagnostic metric set * * Default value: user. * * @example * User */ type?: string; static names(): { [key: string]: string } { return { maxResults: 'MaxResults', metricSetIds: 'MetricSetIds', nextToken: 'NextToken', regionId: 'RegionId', resourceType: 'ResourceType', type: 'Type', }; } static types(): { [key: string]: any } { return { maxResults: 'number', metricSetIds: { 'type': 'array', 'itemType': 'string' }, nextToken: 'string', regionId: 'string', resourceType: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricSetsResponseBody extends $tea.Model { /** * @remarks * A collection of diagnostic metrics. */ metricSets?: DescribeDiagnosticMetricSetsResponseBodyMetricSets[]; /** * @remarks * The query token returned in this call. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { metricSets: 'MetricSets', nextToken: 'NextToken', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { metricSets: { 'type': 'array', 'itemType': DescribeDiagnosticMetricSetsResponseBodyMetricSets }, nextToken: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricSetsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiagnosticMetricSetsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiagnosticMetricSetsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricsRequest extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 10 */ maxResults?: number; /** * @remarks * The ID of diagnostic metric. */ metricIds?: string[]; /** * @remarks * The maximum number of entries to return on each page. Maximum value: 100. * * Default value: * * * If this parameter is left empty, the default value is 10. * * If this parameter is set to a value greater than 100, the default value is 100. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The IDs of diagnostic metrics. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the last call to the DescribeDiagnosticMetrics operation. Leave this parameter empty the first time you call this operation. * * @example * instance */ resourceType?: string; static names(): { [key: string]: string } { return { maxResults: 'MaxResults', metricIds: 'MetricIds', nextToken: 'NextToken', regionId: 'RegionId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { maxResults: 'number', metricIds: { 'type': 'array', 'itemType': 'string' }, nextToken: 'string', regionId: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricsResponseBody extends $tea.Model { /** * @remarks * The ID of the diagnostic metric. */ metrics?: DescribeDiagnosticMetricsResponseBodyMetrics[]; /** * @remarks * The list of diagnostic metrics. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The query token returned in this call. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { metrics: 'Metrics', nextToken: 'NextToken', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { metrics: { 'type': 'array', 'itemType': DescribeDiagnosticMetricsResponseBodyMetrics }, nextToken: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiagnosticMetricsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiagnosticMetricsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesRequest extends $tea.Model { /** * @remarks * The region ID of the diagnostic report. 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 diagnostic report. * * This parameter is required. * * @example * dr-i-uf6i0tv2refv8wz***** */ reportId?: string; static names(): { [key: string]: string } { return { regionId: 'RegionId', reportId: 'ReportId', }; } static types(): { [key: string]: any } { return { regionId: 'string', reportId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponseBody extends $tea.Model { /** * @remarks * The extended attributes of the diagnostic report. * * @example * { * "OfflineDiagReportStatus":"CONFIRMED" * } */ attributes?: string; /** * @remarks * The time when the diagnostic report was created. * * @example * 2022-07-11T12:00:00Z */ creationTime?: string; /** * @remarks * The end of the reporting period of the diagnostic report. The value is the EndTime value that was passed in when you called the [CreateDiagnosticReport](https://help.aliyun.com/document_detail/442490.html) operation to create the diagnostic report. * * @example * 2022-07-11T14:00:00Z */ endTime?: string; /** * @remarks * The time when the diagnostic report was complete. * * @example * 2022-07-11T14:00:00Z */ finishedTime?: string; /** * @remarks * The results of all diagnostic metrics in the diagnostic metric set. */ metricResults?: DescribeDiagnosticReportAttributesResponseBodyMetricResults; /** * @remarks * The ID of the diagnostic metric set. * * @example * dms-bp17p0qwtr72zmu***** */ metricSetId?: string; /** * @remarks * The ID of the diagnostic report, which is the unique identifier of the report. * * @example * dr-uf6i0tv2refv8wz***** */ reportId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The resource ID. * * @example * i-uf6i0tv2refv8wz***** */ resourceId?: string; /** * @remarks * The type of the resource. ResourceType can only be set to instance, which indicates that only instances are supported. * * @example * instance */ resourceType?: string; /** * @remarks * The severity level of the diagnostic report. The value of this parameter is determined by the highest severity level of all diagnostic metrics. Valid values: * * * Unknown: The diagnostic has not started, failed to run, or exited unexpectedly without a diagnosis. * * Normal: No exceptions were detected. * * Info: Diagnostic information was recorded and may be related to exceptions. * * Warn: Diagnostic information was recorded and may indicate potential exceptions. * * Critical: Critical exceptions were detected. * * @example * Normal */ severity?: string; /** * @remarks * The beginning of the reporting period of the diagnostic report. The value is the StartTime value that was passed in when you called the [CreateDiagnosticReport](https://help.aliyun.com/document_detail/442490.html) operation to create the diagnostic report. * * @example * 2022-07-11T12:00:00Z */ startTime?: string; /** * @remarks * The state of the diagnostic report. Valid values: * * * InProgress: The diagnostic is in progress. * * Finished: The diagnostic is complete. * * Failed: The diagnostic failed. * * @example * Finished */ status?: string; static names(): { [key: string]: string } { return { attributes: 'Attributes', creationTime: 'CreationTime', endTime: 'EndTime', finishedTime: 'FinishedTime', metricResults: 'MetricResults', metricSetId: 'MetricSetId', reportId: 'ReportId', requestId: 'RequestId', resourceId: 'ResourceId', resourceType: 'ResourceType', severity: 'Severity', startTime: 'StartTime', status: 'Status', }; } static types(): { [key: string]: any } { return { attributes: 'string', creationTime: 'string', endTime: 'string', finishedTime: 'string', metricResults: DescribeDiagnosticReportAttributesResponseBodyMetricResults, metricSetId: 'string', reportId: 'string', requestId: 'string', resourceId: 'string', resourceType: 'string', severity: 'string', startTime: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiagnosticReportAttributesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiagnosticReportAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsRequest extends $tea.Model { /** * @remarks * The maximum number of entries to return on each page. Maximum value: 100. * * Default value: * * * If this parameter is left empty, the default value is 10. * * If this parameter is set to a value greater than 100, the default value is 100. * * @example * 10 */ maxResults?: number; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the last call to the DescribeDiagnosticReports operation. Leave this parameter empty the first time you call this operation. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The region ID of the diagnostic report. 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 IDs of diagnostic reports. You can specify up to 100 report IDs. */ reportIds?: string[]; /** * @remarks * The IDs of resources. You can specify up to 100 resource IDs. */ resourceIds?: string[]; /** * @remarks * The severity level of the diagnostic report. Valid values: * * * Unknown: The diagnostic has not started, failed to run, or exited unexpectedly without a diagnosis. * * Normal: No exceptions are detected. * * Info: Diagnostic information is recorded and may be related to exceptions. * * Warn: Diagnostic information is recorded and may indicate exceptions. * * Critical: Critical exceptions are detected. * * @example * Normal */ severity?: string; /** * @remarks * The state of the diagnostic report. Valid values: * * * InProgress: The diagnostic is in progress. * * Failed: The diagnostic failed. * * Finished: The diagnostic is complete. * * @example * Finished */ status?: string; static names(): { [key: string]: string } { return { maxResults: 'MaxResults', nextToken: 'NextToken', regionId: 'RegionId', reportIds: 'ReportIds', resourceIds: 'ResourceIds', severity: 'Severity', status: 'Status', }; } static types(): { [key: string]: any } { return { maxResults: 'number', nextToken: 'string', regionId: 'string', reportIds: { 'type': 'array', 'itemType': 'string' }, resourceIds: { 'type': 'array', 'itemType': 'string' }, severity: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponseBody extends $tea.Model { /** * @remarks * The query token returned in this call. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The list of reports. */ reports?: DescribeDiagnosticReportsResponseBodyReports; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { nextToken: 'NextToken', reports: 'Reports', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { nextToken: 'string', reports: DescribeDiagnosticReportsResponseBodyReports, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiagnosticReportsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiagnosticReportsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskDefaultKMSKeyIdRequest extends $tea.Model { /** * @remarks * The ID of the region. You can call the DescribeRegions operation to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { regionId: 'RegionId', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { regionId: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskDefaultKMSKeyIdResponseBody extends $tea.Model { /** * @remarks * The ID of the KMS key. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40**** */ KMSKeyId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { KMSKeyId: 'KMSKeyId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { KMSKeyId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskDefaultKMSKeyIdResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiskDefaultKMSKeyIdResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiskDefaultKMSKeyIdResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskEncryptionByDefaultStatusRequest extends $tea.Model { /** * @remarks * The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/2679950.html) operation to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { regionId: 'RegionId', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { regionId: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskEncryptionByDefaultStatusResponseBody extends $tea.Model { /** * @remarks * Indicates whether account-level default encryption of EBS resources is enabled in the region. Valid values: * * * true * * false * * Default value: false. * * @example * false */ encrypted?: boolean; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { encrypted: 'Encrypted', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { encrypted: 'boolean', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskEncryptionByDefaultStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiskEncryptionByDefaultStatusResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiskEncryptionByDefaultStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskMonitorDataRequest extends $tea.Model { /** * @remarks * The disk ID. * * This parameter is required. * * @example * d-bp1bq5g3dxxo1x4o**** */ diskId?: string; /** * @remarks * The end of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2014-07-23T12:09:00Z */ endTime?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The interval at which to retrieve the monitoring data. Unit: seconds. Valid values: * * * 60 * * 600 * * 3600 * * Default value: 60. * * @example * 60 */ period?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The beginning of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2014-07-23T12:07:00Z */ startTime?: string; static names(): { [key: string]: string } { return { diskId: 'DiskId', endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { diskId: 'string', endTime: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskMonitorDataResponseBody extends $tea.Model { /** * @remarks * The monitoring data of the disk. */ monitorData?: DescribeDiskMonitorDataResponseBodyMonitorData; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of returned monitoring data entries. * * @example * 3 */ totalCount?: number; static names(): { [key: string]: string } { return { monitorData: 'MonitorData', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { monitorData: DescribeDiskMonitorDataResponseBodyMonitorData, requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDiskMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDiskMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksRequest extends $tea.Model { filter?: DescribeDisksRequestFilter[]; /** * @remarks * The attribute value. Set the value to IOPS, which indicates the maximum IOPS of the disk. * * @example * IOPS */ additionalAttributes?: string[]; /** * @remarks * The ID of the automatic snapshot policy that is applied to the cloud disk. * * @example * sp-m5e2w2jutw8bv31**** */ autoSnapshotPolicyId?: string; /** * @remarks * The category of the disk. Valid values: * * * all: all disk categories * * cloud: basic disk * * cloud_efficiency: ultra disk * * cloud_ssd: standard SSD * * cloud_essd: Enterprise SSD (ESSD) * * cloud_auto: ESSD AutoPL disk * * local_ssd_pro: I/O-intensive local disk * * local_hdd_pro: throughput-intensive local disk * * cloud_essd_entry: ESSD Entry disk * * elastic_ephemeral_disk_standard: standard elastic ephemeral disk * * elastic_ephemeral_disk_premium: premium elastic ephemeral disk * * ephemeral: retired local disk * * ephemeral_ssd: retired local SSD * * Default value: all. * * @example * all */ category?: string; /** * @remarks * Specifies whether to delete the automatic snapshots of the cloud disk after the disk is released. * * * true * * false * * Default value: false * * @example * false */ deleteAutoSnapshot?: boolean; /** * @remarks * Specifies whether the disk is released when the associated instance is released. Valid values: * * * true: The disk is released when the associated instance is released. * * false: The disk is retained as a pay-as-you-go data disk when the associated instance is released. * * Default value: false. * * @example * false */ deleteWithInstance?: boolean; /** * @remarks * The billing method of the disk. Valid values: * * * PrePaid: subscription * * PostPaid: pay-as-you-go * * @example * PostPaid */ diskChargeType?: string; /** * @remarks * The IDs of cloud disks, local disks, or elastic ephemeral disks. The value is a JSON array that consists of up to 100 disk IDs. Separate the disk IDs with commas (,). * * @example * ["d-bp67acfmxazb4p****", "d-bp67acfmxazb4g****", … "d-bp67acfmxazb4d****"] */ diskIds?: string; /** * @remarks * The name of the disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). * * @example * testDiskName */ diskName?: string; /** * @remarks * The type of the disk. Valid values: * * * all: system disk and data disk * * system: system disk * * data: data disk * * Default value: all. * * > Elastic ephemeral disks cannot be used as system disks. * * @example * all */ diskType?: string; /** * @remarks * Specifies whether to perform only a dry run without performing the actual request. Valid values: * * * true: performs only a dry run. The systems checks whether your AccessKey pair is valid, whether RAM users are granted permissions, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * Default value: false * * @example * false */ dryRun?: boolean; /** * @remarks * Specifies whether to enable the automatic snapshot policy feature for the cloud disk. * * * true * * false * * > By default, the automatic snapshot policy feature is enabled for cloud disks that are already created. Additionally, only the automatic snapshot policy needs to be applied to a cloud disk before you can use the automatic snapshot policy. * * @example * true */ enableAutoSnapshot?: boolean; /** * @remarks * Specifies whether an automatic snapshot policy is applied to the cloud disk. * * * true: An automatic snapshot policy is applied to the cloud disk. * * false: No automatic snapshot policy is applied to the cloud disk. * * Default value: false * * @example * false */ enableAutomatedSnapshotPolicy?: boolean; /** * @remarks * Specifies whether the disk is a Shared Block Storage device. * * @example * false */ enableShared?: boolean; /** * @remarks * Specifies whether to query only encrypted cloud disks. * * * true: queries only encrypted cloud disks. * * false: does not query encrypted cloud disks. * * Default value: false * * @example * false */ encrypted?: boolean; /** * @remarks * The ID of the Elastic Compute Service (ECS) instance to which the disk is attached. * * @example * i-bp67acfmxazb4q**** */ instanceId?: string; /** * @remarks * The ID of the Key Management Service (KMS) key that is used by the cloud disk. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40**** */ KMSKeyId?: string; /** * @remarks * The reason why the disk is locked. Valid values: * * * financial: The disk is locked due to overdue payments. * * security: The disk is locked due to security reasons. * * recycling: The preemptible instance is locked and pending release. * * dedicatedhostfinancial: The instance is locked due to overdue payments for the dedicated host. * * @example * recycling */ lockReason?: string; /** * @remarks * The maximum number of entries per page. Valid values: 10 to 500. * * Default value: * * * If you do not specify this parameter or you set this parameter to a value less than 10, the default value is 10. * * If you set this parameter to a value greater than 500, the default value is 500. * * @example * 50 */ maxResults?: number; /** * @remarks * Specifies whether the multi-attach feature is enabled for the disk. Valid values: * * * Disabled: The multi-attach feature is not enabled for the disk. * * Enabled: The multi-attach feature is enabled for the disk. * * LegacyShared: Shared Block Storage devices are queried. * * The multi-attach feature is available to select users. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/console.htm#/ticket/list). * * @example * Disabled */ multiAttach?: string; /** * @remarks * The query token. Set the value to the `NextToken` value that was returned in the last call to this operation. * * For more information about how to check the responses returned by this operation, see the preceding "Description" section. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return per page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * Specifies whether the disk is removable. Valid values: * * * true: The disk is removable. A removable disk can independently exist and can be attached to or detached from an instance within the same zone. * * false: The disk is not removable. A disk that is not removable cannot independently exist or be attached to or detached from an instance within the same zone. * * The `Portable` attribute of the following types of disks is `false`, and these types of disks share the same lifecycle with their associated instances: * * * Local disks * * Local SSDs * * Subscription data disks * * @example * false */ portable?: boolean; /** * @remarks * The region ID of the disk. 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 the disk belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of the value specified for this parameter. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the snapshot from which you create the cloud disk. * * @example * s-bp67acfmxazb4p**** */ snapshotId?: string; /** * @remarks * The status of the disk. For more information, see [Disk states](https://help.aliyun.com/document_detail/25689.html). Valid values: * * * In_use * * Available * * Attaching * * Detaching * * Creating * * ReIniting * * All * * Default value: All. * * @example * All */ status?: string; /** * @remarks * The tags of the disk. */ tag?: DescribeDisksRequestTag[]; /** * @remarks * The zone ID. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { filter: 'Filter', additionalAttributes: 'AdditionalAttributes', autoSnapshotPolicyId: 'AutoSnapshotPolicyId', category: 'Category', deleteAutoSnapshot: 'DeleteAutoSnapshot', deleteWithInstance: 'DeleteWithInstance', diskChargeType: 'DiskChargeType', diskIds: 'DiskIds', diskName: 'DiskName', diskType: 'DiskType', dryRun: 'DryRun', enableAutoSnapshot: 'EnableAutoSnapshot', enableAutomatedSnapshotPolicy: 'EnableAutomatedSnapshotPolicy', enableShared: 'EnableShared', encrypted: 'Encrypted', instanceId: 'InstanceId', KMSKeyId: 'KMSKeyId', lockReason: 'LockReason', maxResults: 'MaxResults', multiAttach: 'MultiAttach', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', portable: 'Portable', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotId: 'SnapshotId', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeDisksRequestFilter }, additionalAttributes: { 'type': 'array', 'itemType': 'string' }, autoSnapshotPolicyId: 'string', category: 'string', deleteAutoSnapshot: 'boolean', deleteWithInstance: 'boolean', diskChargeType: 'string', diskIds: 'string', diskName: 'string', diskType: 'string', dryRun: 'boolean', enableAutoSnapshot: 'boolean', enableAutomatedSnapshotPolicy: 'boolean', enableShared: 'boolean', encrypted: 'boolean', instanceId: 'string', KMSKeyId: 'string', lockReason: 'string', maxResults: 'number', multiAttach: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', portable: 'boolean', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotId: 'string', status: 'string', tag: { 'type': 'array', 'itemType': DescribeDisksRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBody extends $tea.Model { /** * @remarks * The details about the disks. */ disks?: DescribeDisksResponseBodyDisks; /** * @remarks * The returned pagination token which can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 15 */ totalCount?: number; static names(): { [key: string]: string } { return { disks: 'Disks', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { disks: DescribeDisksResponseBodyDisks, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDisksResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDisksResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusRequest extends $tea.Model { eventTime?: DescribeDisksFullStatusRequestEventTime; /** * @remarks * The ID of EBS device N. Valid values of N: 1 to 100. * * @example * d-bp67acfmxazb4p**** */ diskId?: string[]; /** * @remarks * The ID of event N. Valid values of N: 1 to 100. * * @example * e-bp67acfmxazb4p**** */ eventId?: string[]; /** * @remarks * The event type of the EBS device. Valid values: * * * Degraded: The performance of the EBS device is degraded. * * SeverelyDegraded: The performance of the EBS device is severely degraded. * * Stalled: The performance of the EBS device is severely affected. * * ErrorDetected: The local disk is damaged. * * @example * Stalled */ eventType?: string; /** * @remarks * The health status of the EBS device. Valid values: * * * Impaired: The EBS device is damaged. * * Warning: The performance of the EBS device is degraded. * * Initializing: The EBS device is being initialized. * * InsufficientData: The status cannot be determined due to insufficient data. * * NotApplicable: The EBS device cannot be used. * * @example * Warning */ healthStatus?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. The value must be a positive integer. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the EBS device. 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 the EBS device belongs. If you configure this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * @example * rg-aek2kkmhmhs**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The lifecycle status of the EBS device. For more information, see [Disk status](https://help.aliyun.com/document_detail/25689.html). Valid values: * * * In_use: The EBS device is in use. * * Available: The EBS device can be attached. * * Attaching: The EBS device is being attached. * * Detaching: The EBS device is being detached. * * Creating: The EBS device is being created. * * ReIniting: The EBS device is being initialized. * * @example * Available */ status?: string; /** * @remarks * The tags to add to the EBS device. */ tag?: DescribeDisksFullStatusRequestTag[]; static names(): { [key: string]: string } { return { eventTime: 'EventTime', diskId: 'DiskId', eventId: 'EventId', eventType: 'EventType', healthStatus: 'HealthStatus', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', tag: 'Tag', }; } static types(): { [key: string]: any } { return { eventTime: DescribeDisksFullStatusRequestEventTime, diskId: { 'type': 'array', 'itemType': 'string' }, eventId: { 'type': 'array', 'itemType': 'string' }, eventType: 'string', healthStatus: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', tag: { 'type': 'array', 'itemType': DescribeDisksFullStatusRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBody extends $tea.Model { /** * @remarks * The collection of full status information of the EBS devices. */ diskFullStatusSet?: DescribeDisksFullStatusResponseBodyDiskFullStatusSet; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of EBS devices for which full status information is returned. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { diskFullStatusSet: 'DiskFullStatusSet', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { diskFullStatusSet: DescribeDisksFullStatusResponseBodyDiskFullStatusSet, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeDisksFullStatusResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeDisksFullStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesRequest extends $tea.Model { filter?: DescribeEipAddressesRequestFilter[]; allocationId?: string; associatedInstanceId?: string; associatedInstanceType?: string; chargeType?: string; eipAddress?: string; ISP?: string; lockReason?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; status?: string; static names(): { [key: string]: string } { return { filter: 'Filter', allocationId: 'AllocationId', associatedInstanceId: 'AssociatedInstanceId', associatedInstanceType: 'AssociatedInstanceType', chargeType: 'ChargeType', eipAddress: 'EipAddress', ISP: 'ISP', lockReason: 'LockReason', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeEipAddressesRequestFilter }, allocationId: 'string', associatedInstanceId: 'string', associatedInstanceType: 'string', chargeType: 'string', eipAddress: 'string', ISP: 'string', lockReason: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponseBody extends $tea.Model { eipAddresses?: DescribeEipAddressesResponseBodyEipAddresses; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { eipAddresses: 'EipAddresses', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { eipAddresses: DescribeEipAddressesResponseBodyEipAddresses, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeEipAddressesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeEipAddressesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipMonitorDataRequest extends $tea.Model { /** * @remarks * This parameter is required. */ allocationId?: string; /** * @remarks * This parameter is required. */ endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ startTime?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { allocationId: 'string', endTime: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipMonitorDataResponseBody extends $tea.Model { eipMonitorDatas?: DescribeEipMonitorDataResponseBodyEipMonitorDatas; requestId?: string; static names(): { [key: string]: string } { return { eipMonitorDatas: 'EipMonitorDatas', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { eipMonitorDatas: DescribeEipMonitorDataResponseBodyEipMonitorDatas, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeEipMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeEipMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesRequest extends $tea.Model { privatePoolOptions?: DescribeElasticityAssuranceInstancesRequestPrivatePoolOptions; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The token used to start the query. Set the value to the NextToken value obtained from the response to the preceding request. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the elasticity assurance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: DescribeElasticityAssuranceInstancesRequestPrivatePoolOptions, maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesResponseBody extends $tea.Model { /** * @remarks * Details about the instances that match and use the elasticity assurance. */ elasticityAssuranceItem?: DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItem; /** * @remarks * The number of entries returned per page. * * @example * 10 */ maxResults?: number; /** * @remarks * The token used to start the next query. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { elasticityAssuranceItem: 'ElasticityAssuranceItem', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { elasticityAssuranceItem: DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItem, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeElasticityAssuranceInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeElasticityAssuranceInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesRequest extends $tea.Model { privatePoolOptions?: DescribeElasticityAssurancesRequestPrivatePoolOptions; /** * @remarks * The billing method of the instance. Set the value to PostPaid. Only pay-as-you-go instances can be created by using elasticity assurances. * * Default value: PostPaid. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The instance type. * * @example * ecs.c6.large */ instanceType?: string; /** * @remarks * The maximum number of entries per page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * > This parameter is deprecated. * * @example * null */ platform?: string; /** * @remarks * The region ID of the elasticity assurances. 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. If you configure this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of whether you configure this parameter. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The status of the elasticity assurances. Valid values: * * * All * * Preparing * * Prepared * * Active * * Released * * Default value: Active. * * @example * Active */ status?: string; /** * @remarks * The tags. */ tag?: DescribeElasticityAssurancesRequestTag[]; /** * @remarks * The zone ID of the elasticity assurances. * * @example * cn-hangzhou-h */ zoneId?: string; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: DescribeElasticityAssurancesRequestPrivatePoolOptions, instanceChargeType: 'string', instanceType: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', tag: { 'type': 'array', 'itemType': DescribeElasticityAssurancesRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBody extends $tea.Model { /** * @remarks * Details about the elasticity assurances. */ elasticityAssuranceSet?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSet; /** * @remarks * The maximum number of entries returned per page. * * @example * 10 */ maxResults?: number; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { elasticityAssuranceSet: 'ElasticityAssuranceSet', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { elasticityAssuranceSet: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSet, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeElasticityAssurancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeElasticityAssurancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEniMonitorDataRequest extends $tea.Model { /** * @remarks * The end of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2018-05-21T12:22:00Z */ endTime?: string; /** * @remarks * The secondary ENI ID. By default, all secondary ENIs that are bound to the specified instance are queried. * * @example * eni-bp19da36d6xdwey**** */ eniId?: string; /** * @remarks * The ID of the instance to which the secondary ENI is bound. * * This parameter is required. * * @example * i-bp1a5zr3u7nq9cx**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The interval at which to retrieve monitoring data. Unit: seconds. Valid values: * * * 60 * * 600 * * 3600 * * Default value: 60. * * @example * 60 */ period?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The beginning of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2018-05-21T12:19:00Z */ startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', eniId: 'EniId', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', eniId: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEniMonitorDataResponseBody extends $tea.Model { /** * @remarks * The monitoring data of the secondary ENI. */ monitorData?: DescribeEniMonitorDataResponseBodyMonitorData; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 4 */ totalCount?: number; static names(): { [key: string]: string } { return { monitorData: 'MonitorData', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { monitorData: DescribeEniMonitorDataResponseBodyMonitorData, requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEniMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeEniMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeEniMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeForwardTableEntriesRequest extends $tea.Model { forwardEntryId?: string; /** * @remarks * This parameter is required. */ forwardTableId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { forwardEntryId: 'ForwardEntryId', forwardTableId: 'ForwardTableId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { forwardEntryId: 'string', forwardTableId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeForwardTableEntriesResponseBody extends $tea.Model { forwardTableEntries?: DescribeForwardTableEntriesResponseBodyForwardTableEntries; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { forwardTableEntries: 'ForwardTableEntries', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { forwardTableEntries: DescribeForwardTableEntriesResponseBodyForwardTableEntries, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeForwardTableEntriesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeForwardTableEntriesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeForwardTableEntriesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsRequest extends $tea.Model { /** * @remarks * This parameter is required. */ filter?: DescribeHaVipsRequestFilter[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { filter: 'Filter', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeHaVipsRequestFilter }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponseBody extends $tea.Model { haVips?: DescribeHaVipsResponseBodyHaVips; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { haVips: 'HaVips', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { haVips: DescribeHaVipsResponseBodyHaVips, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeHaVipsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeHaVipsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHpcClustersRequest extends $tea.Model { /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The number of entries per page. * * Maximum value: 100. * * Default value: 10. * * @example * ["hpc-xxxxxxxxx", "hpc-yyyyyyyyy", … "hpc-zzzzzzzzz"] */ hpcClusterIds?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The request ID. * * @example * 10 */ pageSize?: number; /** * @remarks * The IDs of HPC clusters. The value is a JSON array that consists of up to 100 HPC cluster IDs. Separate the HPC cluster IDs with commas (,). * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', hpcClusterIds: 'HpcClusterIds', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', hpcClusterIds: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHpcClustersResponseBody extends $tea.Model { /** * @remarks * The name of the HPC cluster. */ hpcClusters?: DescribeHpcClustersResponseBodyHpcClusters; /** * @remarks * Details about the HPC clusters. The value is an array that consists of the information of each HPC cluster. * * @example * 1 */ pageNumber?: number; /** * @remarks * The page number. * * @example * 10 */ pageSize?: number; /** * @remarks * The total number of HPC clusters. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the HPC cluster. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { hpcClusters: 'HpcClusters', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { hpcClusters: DescribeHpcClustersResponseBodyHpcClusters, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHpcClustersResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeHpcClustersResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeHpcClustersResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsRequest extends $tea.Model { /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ componentType?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ componentVersion?: string; /** * @remarks * The IDs of image components. Valid values of N: 1 to 20. * * @example * ic-bp67acfmxazb4p**** */ imageComponentId?: string[]; /** * @remarks * The maximum number of entries per page. Valid values: 1 to 500. * * Default value: 50. * * @example * 50 */ maxResults?: number; /** * @remarks * The name of the image component. You must specify an exact name to search for the image component. * * @example * testComponent */ name?: string; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of `NextToken`. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The type of the image component. Valid values: * * * SELF: the custom component that you created. * * ALIYUN: the system component provided by Alibaba Cloud. * * @example * SELF */ owner?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image component. 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. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ systemType?: string; /** * @remarks * The tags of the image component. */ tag?: DescribeImageComponentsRequestTag[]; static names(): { [key: string]: string } { return { componentType: 'ComponentType', componentVersion: 'ComponentVersion', imageComponentId: 'ImageComponentId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', owner: 'Owner', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', systemType: 'SystemType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { componentType: 'string', componentVersion: 'string', imageComponentId: { 'type': 'array', 'itemType': 'string' }, maxResults: 'number', name: 'string', nextToken: 'string', owner: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', systemType: 'string', tag: { 'type': 'array', 'itemType': DescribeImageComponentsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBody extends $tea.Model { /** * @remarks * The information about the image components. */ imageComponent?: DescribeImageComponentsResponseBodyImageComponent; /** * @remarks * The number of entries per page. * * @example * 50 */ maxResults?: number; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. For information about how to use the returned value, see the "Usage notes" section of this topic. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of image components returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { imageComponent: 'ImageComponent', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { imageComponent: DescribeImageComponentsResponseBodyImageComponent, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImageComponentsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImageComponentsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyRequest extends $tea.Model { /** * @remarks * The name of the image family. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter and cannot start with http://, https://, acs:, or aliyun. * * This parameter is required. * * @example * hangzhou-daily-update */ imageFamily?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { imageFamily: 'ImageFamily', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { imageFamily: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBody extends $tea.Model { /** * @remarks * The image information. */ image?: DescribeImageFromFamilyResponseBodyImage; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { image: 'Image', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { image: DescribeImageFromFamilyResponseBodyImage, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImageFromFamilyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImageFromFamilyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsRequest extends $tea.Model { /** * @remarks * The ID of the image creation task. * * @example * exec-5fb8facb8ed7427c**** */ executionId?: string; /** * @remarks * The ID of the image template. * * @example * ip-2ze5tsl5bp6nf2b3**** */ imagePipelineId?: string; /** * @remarks * The maximum number of entries per page. Valid values: 1 to 500. * * Default value: 50. * * @example * 50 */ maxResults?: number; /** * @remarks * The pagination token that is used in the request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of `NextToken`. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The status of the image creation task. You can specify multiple values. Separate the values with commas (,). Example: `BUILDING,DISTRIBUTING`. Valid values: * * * BUILDING * * DISTRIBUTING * * RELEASING * * SUCCESS * * FAILED * * CANCELLING * * CANCELLED * * > If you want to query the image creation tasks in all states, specify all values. * * @example * BUILDING */ status?: string; /** * @remarks * > This parameter is not publicly available. */ tag?: DescribeImagePipelineExecutionsRequestTag[]; static names(): { [key: string]: string } { return { executionId: 'ExecutionId', imagePipelineId: 'ImagePipelineId', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', tag: 'Tag', }; } static types(): { [key: string]: any } { return { executionId: 'string', imagePipelineId: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', tag: { 'type': 'array', 'itemType': DescribeImagePipelineExecutionsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponseBody extends $tea.Model { /** * @remarks * Details of the image creation task. */ imagePipelineExecution?: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecution; /** * @remarks * The maximum number of entries per page. * * @example * 50 */ maxResults?: number; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists. For information about how to use the returned value, see the "Usage notes" section in this topic. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of returned image components. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { imagePipelineExecution: 'ImagePipelineExecution', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { imagePipelineExecution: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecution, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImagePipelineExecutionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImagePipelineExecutionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesRequest extends $tea.Model { /** * @remarks * The IDs of image templates. Valid values of N: 1 to 20. * * @example * ip-2ze5tsl5bp6nf2b3**** */ imagePipelineId?: string[]; /** * @remarks * The number of entries per page. Valid values: 1 to 500 * * Default value: 50. * * @example * 50 */ maxResults?: number; /** * @remarks * The name of the image template. * * @example * testImagePipeline */ name?: string; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of `NextToken`. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the image template. 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. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the image template. */ tag?: DescribeImagePipelinesRequestTag[]; static names(): { [key: string]: string } { return { imagePipelineId: 'ImagePipelineId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { imagePipelineId: { 'type': 'array', 'itemType': 'string' }, maxResults: 'number', name: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeImagePipelinesRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBody extends $tea.Model { /** * @remarks * The information about the image templates. */ imagePipeline?: DescribeImagePipelinesResponseBodyImagePipeline; /** * @remarks * The number of entries per page. * * @example * 50 */ maxResults?: number; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. For information about how to use the return value, see the "Usage notes" section of this topic. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of image templates returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { imagePipeline: 'ImagePipeline', maxResults: 'MaxResults', nextToken: 'NextToken', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { imagePipeline: DescribeImagePipelinesResponseBodyImagePipeline, maxResults: 'number', nextToken: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImagePipelinesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImagePipelinesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionRequest extends $tea.Model { /** * @remarks * The ID of the custom image. * * This parameter is required. * * @example * m-bp1caf3yicx5jlfl**** */ imageId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1 * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the custom image. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { imageId: 'ImageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { imageId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponseBody extends $tea.Model { /** * @remarks * The Alibaba Cloud accounts. */ accounts?: DescribeImageSharePermissionResponseBodyAccounts; /** * @remarks * The ID of the custom image. * * @example * m-bp1caf3yicx5jlfl**** */ imageId?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the custom image. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The shared groups. */ shareGroups?: DescribeImageSharePermissionResponseBodyShareGroups; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { accounts: 'Accounts', imageId: 'ImageId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', shareGroups: 'ShareGroups', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { accounts: DescribeImageSharePermissionResponseBodyAccounts, imageId: 'string', pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', shareGroups: DescribeImageSharePermissionResponseBodyShareGroups, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImageSharePermissionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImageSharePermissionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesRequest extends $tea.Model { /** * @remarks * The scenario in which you want to use the image. Valid values: * * - CreateEcs (default): instance creation * - ChangeOS: replacement of the system disk or operating system * * @example * CreateEcs */ actionType?: string; /** * @remarks * The number of vCPUs of the instance type. */ filter?: DescribeImageSupportInstanceTypesRequestFilter[]; /** * @remarks * The region ID of the image. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list. * * @example * m-o6w3gy99qf89rkga**** */ imageId?: string; ownerId?: number; /** * @remarks * Details about the instance types that are supported by the image. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { actionType: 'ActionType', filter: 'Filter', imageId: 'ImageId', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { actionType: 'string', filter: { 'type': 'array', 'itemType': DescribeImageSupportInstanceTypesRequestFilter }, imageId: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesResponseBody extends $tea.Model { /** * @remarks * The key of filter N. Only the image ID can be used to filter instance types. Valid values: * * * imagId: image ID * * filter: image ID * * @example * m-o6w3gy99qf89rkga**** */ imageId?: string; /** * @remarks * { * "RequestId": "CF661E2D-4AFE-4BCD-959A-A65E14416B44", * "RegionId": "cn-hangzhou", * "ImageId": "ubuntu_16_0402_64_20G_alibase_20180409.vhd", * "InstanceTypes": { * "InstanceType": [{ * "InstanceTypeId": "ecs.t1.xsmall", * "CpuCoreCount": 1, * "MemorySize": 0.5, * "InstanceTypeFamily": "ecs.t1" * }, * { * "InstanceTypeId": "ecs.t1.small", * "CpuCoreCount": 1, * "MemorySize": 1, * "InstanceTypeFamily": "ecs.t1" * }] * } * } */ instanceTypes?: DescribeImageSupportInstanceTypesResponseBodyInstanceTypes; /** * @remarks * { * "RequestId": "CF661E2D-4AFE-4BCD-959A-A65E14416B44", * "RegionId": "cn-hangzhou", * "ImageId": "ubuntu_16_0402_64_20G_alibase_20180409.vhd", * "InstanceTypes": { * "InstanceType": [{ * "InstanceTypeId": "ecs.t1.xsmall", * "CpuCoreCount": 1, * "MemorySize": 0.5, * "InstanceTypeFamily": "ecs.t1" * }, * { * "InstanceTypeId": "ecs.t1.small", * "CpuCoreCount": 1, * "MemorySize": 1, * "InstanceTypeFamily": "ecs.t1" * }] * } * } * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { imageId: 'ImageId', instanceTypes: 'InstanceTypes', regionId: 'RegionId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { imageId: 'string', instanceTypes: DescribeImageSupportInstanceTypesResponseBodyInstanceTypes, regionId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImageSupportInstanceTypesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImageSupportInstanceTypesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesRequest extends $tea.Model { /** * @remarks * The scenario in which the image is used. Valid values: * * * CreateEcs: instance creation * * ChangeOS: replacement of the system disk or OS * * @example * CreateEcs */ actionType?: string; /** * @remarks * The architecture of the image. Valid values: * * * i386 * * x86_64 * * arm64 * * @example * i386 */ architecture?: string; /** * @remarks * Specifies whether to perform only a dry run without performing the actual request. * * * true: performs only a dry run. The system checks whether your AccessKey pair is valid, whether RAM users are granted required permissions, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * Default value: false. * * @example * false */ dryRun?: boolean; /** * @remarks * The list of filter conditions used to query resources. */ filter?: DescribeImagesRequestFilter[]; /** * @remarks * The name of the image family. You can set this parameter to query images of the specified image family. * * This parameter is empty by default. * * > For information about image families that are associated with Alibaba Cloud official images, see [Overview of public images](https://help.aliyun.com/document_detail/108393.html). * * @example * hangzhou-daily-update */ imageFamily?: string; /** * @remarks * The image IDs. * * @example * m-bp1g7004ksh0oeuc**** */ imageId?: string; /** * @remarks * The image name. * * @example * testImageName */ imageName?: string; /** * @remarks * The image source. Valid values: * * * system: images that are provided by Alibaba Cloud and are not released in Alibaba Cloud Marketplace, which are different from public images in the Elastic Compute Service (ECS) console. * * * self: your custom images * * * others: shared images (images shared by other Alibaba Cloud accounts) and community images (publicly available custom images that are published by other Alibaba Cloud accounts). Take note of the following items: * * * To query community images, you must set IsPublic to true. * * To query shared images, you must set IsPublic to false or leave IsPublic empty. * * * marketplace: images released by Alibaba Cloud or independent software vendors (ISVs) in the Alibaba Cloud Marketplace, which must be purchased together with ECS instances. Take note of the billing details of the images. * * This parameter is empty by default. * * > By default, this parameter is empty, which indicates that the following images are queried: public images provided by Alibaba Cloud, custom images in your repository, shared images from other Alibaba Cloud accounts, and community images that are published by other Alibaba Cloud accounts. * * @example * self */ imageOwnerAlias?: string; /** * @remarks * The ID of the Alibaba Cloud account to which the image belongs. This parameter takes effect only if you query shared images or community images. * * @example * 1234567890 */ imageOwnerId?: number; /** * @remarks * The instance type for which the image can be used. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * Specifies whether to query published community images. Valid values: * * * true: queries published community images. When you set this parameter to true, you must set ImageOwnerAlias to others. * * false: queries image types other than the community images type. The specific image types to be queried are determined by the ImageOwnerAlias value. * * Default value: false. * * @example * false */ isPublic?: boolean; /** * @remarks * Specifies whether the image supports cloud-init. * * @example * true */ isSupportCloudinit?: boolean; /** * @remarks * Specifies whether the image can be used on I/O optimized instances. * * @example * true */ isSupportIoOptimized?: boolean; /** * @remarks * The operating system type of the image. Valid values: * * * windows * * linux * * @example * linux */ OSType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 1 */ pageSize?: number; /** * @remarks * The region ID of the image. 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 the custom image belongs. If you specify this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be returned. * * > Resources in the default resource group are displayed in the response regardless of whether you specify this parameter. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether the subscription image has expired. * * @example * false */ showExpired?: boolean; /** * @remarks * The ID of the snapshot used to create the custom image. * * @example * s-bp17ot2q7x72ggtw**** */ snapshotId?: string; /** * @remarks * The status of the image. By default, if you do not specify this parameter, only images in the Available state are returned. Valid values: * * * Creating: The image is being created. * * Waiting: The image is waiting to be processed. * * Available: The image is available. * * UnAvailable: The image is unavailable. * * CreateFailed: The image failed to be created. * * Deprecated: The image is deprecated. * * Default value: Available. You can specify multiple values for this parameter. Separate the values with commas (,). * * @example * Available */ status?: string; /** * @remarks * The tags list. */ tag?: DescribeImagesRequestTag[]; /** * @remarks * Specifies whether the image is running on an Elastic Compute Service (ECS) instance. Valid values: * * * instance: The image is already in use and running on an ECS instance. * * none: The image is idle. * * @example * instance */ usage?: string; static names(): { [key: string]: string } { return { actionType: 'ActionType', architecture: 'Architecture', dryRun: 'DryRun', filter: 'Filter', imageFamily: 'ImageFamily', imageId: 'ImageId', imageName: 'ImageName', imageOwnerAlias: 'ImageOwnerAlias', imageOwnerId: 'ImageOwnerId', instanceType: 'InstanceType', isPublic: 'IsPublic', isSupportCloudinit: 'IsSupportCloudinit', isSupportIoOptimized: 'IsSupportIoOptimized', OSType: 'OSType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', showExpired: 'ShowExpired', snapshotId: 'SnapshotId', status: 'Status', tag: 'Tag', usage: 'Usage', }; } static types(): { [key: string]: any } { return { actionType: 'string', architecture: 'string', dryRun: 'boolean', filter: { 'type': 'array', 'itemType': DescribeImagesRequestFilter }, imageFamily: 'string', imageId: 'string', imageName: 'string', imageOwnerAlias: 'string', imageOwnerId: 'number', instanceType: 'string', isPublic: 'boolean', isSupportCloudinit: 'boolean', isSupportIoOptimized: 'boolean', OSType: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', showExpired: 'boolean', snapshotId: 'string', status: 'string', tag: { 'type': 'array', 'itemType': DescribeImagesRequestTag }, usage: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBody extends $tea.Model { /** * @remarks * The information of the images. */ images?: DescribeImagesResponseBodyImages; /** * @remarks * The page number returned. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The region ID of the image. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 66189103-EDB2-43E2-BB60-BFF2B62F4EB8 */ requestId?: string; /** * @remarks * The total number of images. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { images: 'Images', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { images: DescribeImagesResponseBodyImages, pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeImagesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeImagesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttachmentAttributesRequest extends $tea.Model { /** * @remarks * The IDs of the instances. The value can be a JSON array that consists of up to 100 instance IDs. Separate the IDs with commas (,). * * This parameter is required. * * @example * ["i-bp67acfmxazb4****", "i-bp67acfmxazb5****", "i-bp67acfmxazb6****"] */ instanceIds?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the elasticity assurance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttachmentAttributesResponseBody extends $tea.Model { /** * @remarks * Details about the private pools that the instances match. */ instances?: DescribeInstanceAttachmentAttributesResponseBodyInstances; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { instances: 'Instances', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instances: DescribeInstanceAttachmentAttributesResponseBodyInstances, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttachmentAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceAttachmentAttributesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceAttachmentAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeRequest extends $tea.Model { /** * @remarks * The instance ID. * * This parameter is required. * * @example * i-uf6f5trc95ug8t33**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBody extends $tea.Model { /** * @remarks * The ID of the cluster to which the instance belongs. * * > This parameter will be removed in the future. To ensure future compatibility, we recommend that you use other parameters. * * @example * cls-bp67acfmxazb4p**** */ clusterId?: string; /** * @remarks * The number of vCPUs. * * @example * 8 */ cpu?: number; /** * @remarks * The time when the instance was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. For more information, see [ISO 8601](https://help.aliyun.com/document_detail/25696.html). * * @example * 2017-12-10T04:04Z */ creationTime?: string; /** * @remarks * The performance mode of the burstable instance. Valid values: * * * Standard: the standard mode. For more information, see the [Performance modes](~~59977#section-svb-w9d-dju~~) section of the "Overview of burstable instances" topic. * * Unlimited: the unlimited mode. For more information, see the [Performance modes](~~59977#section-svb-w9d-dju~~) section of the "Overview of burstable instances" topic. * * @example * Standard */ creditSpecification?: string; /** * @remarks * Details about the dedicated host. It is an array that consists of the DedicatedHostClusterId, DedicatedHostId, and DedicatedHostName parameters. */ dedicatedHostAttribute?: DescribeInstanceAttributeResponseBodyDedicatedHostAttribute; /** * @remarks * The description of the instance. * * @example * testDescription */ description?: string; /** * @remarks * The elastic IP address (EIP) associated with the instance. */ eipAddress?: DescribeInstanceAttributeResponseBodyEipAddress; /** * @remarks * Indicates whether the Jumbo Frame feature is enabled for the instance. Valid values: * * * true * * false * * For more information, see [MTUs](https://help.aliyun.com/document_detail/200512.html). * * @example * false */ enableJumboFrame?: boolean; /** * @remarks * The time when the instance expires. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. For more information, see [ISO 8601](https://help.aliyun.com/document_detail/25696.html). * * @example * 2017-12-10T04:04Z */ expiredTime?: string; /** * @remarks * The hostname of the instance. * * @example * testHostName */ hostName?: string; /** * @remarks * The ID of the image that the instance is running. * * @example * m-bp1h46wfpjsjastc**** */ imageId?: string; /** * @remarks * The internal IP address of the instance located in the classic network. */ innerIpAddress?: DescribeInstanceAttributeResponseBodyInnerIpAddress; /** * @remarks * The billing method of the instance. Valid values: * * * PrePaid: subscription. * * PostPaid: pay-as-you-go * * @example * PrePaid */ instanceChargeType?: string; /** * @remarks * The instance ID * * @example * i-uf6f5trc95ug8t33**** */ instanceId?: string; /** * @remarks * The instance name. * * @example * testInstanceName */ instanceName?: string; /** * @remarks * The network type of the instance. Valid values: * * * classic: classic network * * vpc: VPC * * @example * vpc */ instanceNetworkType?: string; /** * @remarks * The instance type. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * The billing method for network usage. Valid values: * * * PayByBandwidth * * PayByTraffic * * > When the **pay-by-traffic** billing method is used for network usage, the maximum inbound and outbound bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios in which demands exceed resource supplies, the maximum bandwidths may not be reached. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage. * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * The maximum inbound public bandwidth. Unit: Mbit/s. * * @example * 50 */ internetMaxBandwidthIn?: number; /** * @remarks * The maximum outbound public bandwidth. Unit: Mbit/s. * * @example * 5 */ internetMaxBandwidthOut?: number; /** * @remarks * Indicates whether the instance is I/O optimized. * * @example * true */ ioOptimized?: string; /** * @remarks * The memory size of the instance. Unit: MiB. * * @example * 16384 */ memory?: number; /** * @remarks * The reason why the instance was locked. Valid values: * * * financial: The dedicated host was locked due to overdue payments. * * security: The instance was locked due to security reasons. * * recycling: The preemptible instance was locked and pending release. * * dedicatedhostfinancial: The instance was locked due to overdue payments for the dedicated host. * * refunded: The instance was locked because a refund was made for the instance. */ operationLocks?: DescribeInstanceAttributeResponseBodyOperationLocks; /** * @remarks * The public IP address of the instance. */ publicIpAddress?: DescribeInstanceAttributeResponseBodyPublicIpAddress; /** * @remarks * The ID of the region in which the instance resides. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The IDs of the security groups to which the instance belongs. */ securityGroupIds?: DescribeInstanceAttributeResponseBodySecurityGroupIds; /** * @remarks * The serial number of the instance. * * @example * 51d1353b-22bf-4567-a176-8b3e12e4**** */ serialNumber?: string; /** * @remarks * The status of the instance. Valid values: * * * Pending: The instance is being created. * * Running: The instance is running. * * Starting: The instance is being started. * * Stopping: The instance is being stopped. * * Stopped: The instance is stopped. * * @example * Running */ status?: string; /** * @remarks * Indicates whether the system implements billing after the instance is stopped. Valid values: * * * KeepCharging: The instance is stopped in standard mode. The billing of the instance continues after the instance is stopped, and resources are retained for the instance. * * StopCharging: The instance is stopped in economical mode. The billing of some resources of the instance stops after the instance is stopped. When the instance is stopped, its resources such as vCPUs, memory, and public IP address are released. The instance may be unable to start again if some required resources are out of stock in the current region. * * Not-applicable: The instance does not support economical mode. * * @example * KeepCharging */ stoppedMode?: string; /** * @remarks * The virtual LAN (VLAN) ID of the instance. * * > This parameter will be removed in the future. To ensure future compatibility, we recommend that you use other parameters. * * @example * 10 */ vlanId?: string; /** * @remarks * The VPC attributes of the instance. */ vpcAttributes?: DescribeInstanceAttributeResponseBodyVpcAttributes; /** * @remarks * The ID of the zone in which the instance resides. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { clusterId: 'ClusterId', cpu: 'Cpu', creationTime: 'CreationTime', creditSpecification: 'CreditSpecification', dedicatedHostAttribute: 'DedicatedHostAttribute', description: 'Description', eipAddress: 'EipAddress', enableJumboFrame: 'EnableJumboFrame', expiredTime: 'ExpiredTime', hostName: 'HostName', imageId: 'ImageId', innerIpAddress: 'InnerIpAddress', instanceChargeType: 'InstanceChargeType', instanceId: 'InstanceId', instanceName: 'InstanceName', instanceNetworkType: 'InstanceNetworkType', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', memory: 'Memory', operationLocks: 'OperationLocks', publicIpAddress: 'PublicIpAddress', regionId: 'RegionId', requestId: 'RequestId', securityGroupIds: 'SecurityGroupIds', serialNumber: 'SerialNumber', status: 'Status', stoppedMode: 'StoppedMode', vlanId: 'VlanId', vpcAttributes: 'VpcAttributes', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { clusterId: 'string', cpu: 'number', creationTime: 'string', creditSpecification: 'string', dedicatedHostAttribute: DescribeInstanceAttributeResponseBodyDedicatedHostAttribute, description: 'string', eipAddress: DescribeInstanceAttributeResponseBodyEipAddress, enableJumboFrame: 'boolean', expiredTime: 'string', hostName: 'string', imageId: 'string', innerIpAddress: DescribeInstanceAttributeResponseBodyInnerIpAddress, instanceChargeType: 'string', instanceId: 'string', instanceName: 'string', instanceNetworkType: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', memory: 'number', operationLocks: DescribeInstanceAttributeResponseBodyOperationLocks, publicIpAddress: DescribeInstanceAttributeResponseBodyPublicIpAddress, regionId: 'string', requestId: 'string', securityGroupIds: DescribeInstanceAttributeResponseBodySecurityGroupIds, serialNumber: 'string', status: 'string', stoppedMode: 'string', vlanId: 'string', vpcAttributes: DescribeInstanceAttributeResponseBodyVpcAttributes, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAutoRenewAttributeRequest extends $tea.Model { /** * @remarks * The IDs of the instances. You can specify up to 100 subscription instance IDs in a single request. Separate multiple instance IDs with commas (,). * * > `InstanceId` and `RenewalStatus` cannot be empty at the same time. * * @example * i-bp18x3z4hc7bixhx****,i-bp1g6zv0ce8oghu7**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: string; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: string; /** * @remarks * The region ID of the instance. 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 auto-renewal state of the instance. Valid values: * * * AutoRenewal: Auto-renewal is enabled for the instance. * * Normal: Auto-renewal is disabled for the instance. * * NotRenewal: The instance is not to be renewed. The system sends no more expiration reminders, but sends only a non-renewal reminder three days before the expiration date. For an instance that is not to be renewed, you can call the [ModifyInstanceAutoRenewAttribute](https://help.aliyun.com/document_detail/52843.html) operation to change its auto-renewal status to `Normal`. Then, you can manually renew the instance or enable auto-renewal for the instance. * * @example * AutoRenewal */ renewalStatus?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', renewalStatus: 'RenewalStatus', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'string', pageSize: 'string', regionId: 'string', renewalStatus: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAutoRenewAttributeResponseBody extends $tea.Model { /** * @remarks * The renewal attributes of instances. */ instanceRenewAttributes?: DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributes; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of queried instances. * * @example * 6 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceRenewAttributes: 'InstanceRenewAttributes', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceRenewAttributes: DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributes, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAutoRenewAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceAutoRenewAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceAutoRenewAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsRequest extends $tea.Model { eventPublishTime?: DescribeInstanceHistoryEventsRequestEventPublishTime; notBefore?: DescribeInstanceHistoryEventsRequestNotBefore; /** * @remarks * The lifecycle state of the system event. This parameter takes effect only when InstanceEventCycleStatus.N is not specified. Valid values: * * * Scheduled * * Avoided * * Executing * * Executed * * Canceled * * Failed * * Inquiring * * @example * Executed */ eventCycleStatus?: string; /** * @remarks * The ID of system event N. Valid values of N: 1 to 100. You can repeat this parameter to pass multiple values. * * @example * e-uf64yvznlao4jl2c**** */ eventId?: string[]; /** * @remarks * The type of the system event. This parameter takes effect only when InstanceEventType.N is not specified. Valid values: * * * SystemMaintenance.Reboot: The instance is restarted due to system maintenance. * * SystemMaintenance.Redeploy: The instance is redeployed due to system maintenance. * * SystemFailure.Reboot: The instance is restarted due to a system error. * * SystemFailure.Redeploy: The instance is redeployed due to a system error. * * SystemFailure.Delete: The instance is released due to an instance creation failure. * * InstanceFailure.Reboot: The instance is restarted due to an instance error. * * InstanceExpiration.Stop: The subscription instance is stopped due to expiration. * * InstanceExpiration.Delete: The subscription instance is released due to expiration. * * AccountUnbalanced.Stop: The pay-as-you-go instance is stopped due to an overdue payment. * * AccountUnbalanced.Delete: The pay-as-you-go instance is released due to an overdue payment. * * > For more information, see [Overview](https://help.aliyun.com/document_detail/66574.html). The values of this parameter are applicable only to instance system events, but not to disk system events. * * @example * SystemMaintenance.Reboot */ eventType?: string; /** * @remarks * > This parameter is not publicly available. * * @example * null */ impactLevel?: string; /** * @remarks * The lifecycle state of system event N. Valid values of N: 1 to 7. You can repeat this parameter to pass multiple values. Valid values: * * * Scheduled * * Avoided * * Executing * * Executed * * Canceled * * Failed * * Inquiring * * @example * Executed */ instanceEventCycleStatus?: string[]; /** * @remarks * The type of system event N. Valid values of N: 1 to 30. You can repeat this parameter to pass multiple values. Valid values: * * * SystemMaintenance.Reboot: The instance is restarted due to system maintenance. * * SystemMaintenance.Redeploy: The instance is redeployed due to system maintenance. * * SystemFailure.Reboot: The instance is restarted due to a system error. * * SystemFailure.Redeploy: The instance is redeployed due to a system error. * * SystemFailure.Delete: The instance is released due to an instance creation failure. * * InstanceFailure.Reboot: The instance is restarted due to an instance error. * * InstanceExpiration.Stop: The subscription instance is stopped due to expiration. * * InstanceExpiration.Delete: The subscription instance is released due to expiration. * * AccountUnbalanced.Stop: The pay-as-you-go instance is stopped due to an overdue payment. * * AccountUnbalanced.Delete: The pay-as-you-go instance is released due to an overdue payment. * * > For more information, see [Overview](https://help.aliyun.com/document_detail/66574.html). The values of this parameter are applicable only to instance system events, but not to disk system events. * * @example * SystemMaintenance.Reboot */ instanceEventType?: string[]; /** * @remarks * The ID of the instance. If this parameter is not specified, the system events of all instances in the specified region are queried. * * @example * i-uf678mass4zvr9n1**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the resource. You can call [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) 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 the resource belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; /** * @remarks * The ID of resource N. Valid values of N: 1 to 100. You can repeat this parameter to pass multiple values. Valid values: * * * When `ResourceType` is set to instance, ResourceId.N specifies the ID of instance N. * * When `ResourceType` is set to ddh, ResourceId.N specifies the ID of dedicated host N. * * When `ResourceType` is set to managedhost, ResourceId.N specifies the ID of physical machine N from a smart hosting pool. * * If this parameter is not specified, the system events of all resources of the type specified by `ResourceType` in the region specified by `RegionId` are queried. * * > We recommend that you use `ResourceId.N` to specify one or more resource IDs. If you specify both `ResourceId.N` and `InstanceId`, `ResourceId.N` takes precedence by default. * * @example * i-uf678mass4zvr9n1**** */ resourceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource. Valid values: * * * instance: ECS instance * * ddh: dedicated host * * managehost: physical machine in a smart hosting pool * * Default value: instance. * * @example * instance */ resourceType?: string; /** * @remarks * The list of tags. */ tag?: DescribeInstanceHistoryEventsRequestTag[]; static names(): { [key: string]: string } { return { eventPublishTime: 'EventPublishTime', notBefore: 'NotBefore', eventCycleStatus: 'EventCycleStatus', eventId: 'EventId', eventType: 'EventType', impactLevel: 'ImpactLevel', instanceEventCycleStatus: 'InstanceEventCycleStatus', instanceEventType: 'InstanceEventType', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { eventPublishTime: DescribeInstanceHistoryEventsRequestEventPublishTime, notBefore: DescribeInstanceHistoryEventsRequestNotBefore, eventCycleStatus: 'string', eventId: { 'type': 'array', 'itemType': 'string' }, eventType: 'string', impactLevel: 'string', instanceEventCycleStatus: { 'type': 'array', 'itemType': 'string' }, instanceEventType: { 'type': 'array', 'itemType': 'string' }, instanceId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': DescribeInstanceHistoryEventsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBody extends $tea.Model { /** * @remarks * Details about the instance system events. */ instanceSystemEventSet?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSet; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instances returned. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceSystemEventSet: 'InstanceSystemEventSet', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceSystemEventSet: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSet, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceHistoryEventsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceHistoryEventsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesRequest extends $tea.Model { /** * @remarks * The instance IDs. You can specify up to 100 instance IDs. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBody extends $tea.Model { /** * @remarks * The maintenance attributes. */ maintenanceAttributes?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributes; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of queried maintenance attributes. * * @example * 100 */ totalCount?: number; static names(): { [key: string]: string } { return { maintenanceAttributes: 'MaintenanceAttributes', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { maintenanceAttributes: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributes, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceMaintenanceAttributesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceMaintenanceAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceRequest extends $tea.Model { systemDisk?: DescribeInstanceModificationPriceRequestSystemDisk; /** * @remarks * The information about data disks. */ dataDisk?: DescribeInstanceModificationPriceRequestDataDisk[]; /** * @remarks * The ID of the instance for which you want to query pricing information for a configuration upgrade. * * This parameter is required. * * @example * i-bp1f2o4ldh8l**** */ instanceId?: string; /** * @remarks * The new instance type. We recommend that you call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types available for configuration upgrades in a specified zone. * * > When you call the DescribeInstanceModificationPrice operation, you must specify at least one of the following parameters: `InstanceType` and `DataDisk.N.*`. * * @example * ecs.g6e.large */ instanceType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', dataDisk: 'DataDisk', instanceId: 'InstanceId', instanceType: 'InstanceType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { systemDisk: DescribeInstanceModificationPriceRequestSystemDisk, dataDisk: { 'type': 'array', 'itemType': DescribeInstanceModificationPriceRequestDataDisk }, instanceId: 'string', instanceType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponseBody extends $tea.Model { /** * @remarks * Details about the prices and promotion rules. */ priceInfo?: DescribeInstanceModificationPriceResponseBodyPriceInfo; /** * @remarks * The request ID. * * @example * A3DC3196-379B-4F32-A2C5-B937134FAD8A */ requestId?: string; static names(): { [key: string]: string } { return { priceInfo: 'PriceInfo', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { priceInfo: DescribeInstanceModificationPriceResponseBodyPriceInfo, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceModificationPriceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceModificationPriceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMonitorDataRequest extends $tea.Model { /** * @remarks * The end of the time range to query. 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. If the value of seconds (`ss`) is not `00`, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2014-10-30T08:00:00Z */ endTime?: string; /** * @remarks * The instance ID. * * This parameter is required. * * @example * i-bp1a36962lrhj4ab**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The interval at which to retrieve monitoring data. Unit: seconds. Valid values: * * * 60 * * 600 * * 3600 * * Default value: 60. * * @example * 60 */ period?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The beginning of the time range to query. 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. If the value of seconds (`ss`) is not `00`, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2014-10-29T23:00:00Z */ startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMonitorDataResponseBody extends $tea.Model { /** * @remarks * The monitoring data of the instance. */ monitorData?: DescribeInstanceMonitorDataResponseBodyMonitorData; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { monitorData: 'MonitorData', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { monitorData: DescribeInstanceMonitorDataResponseBodyMonitorData, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceRamRoleRequest extends $tea.Model { /** * @remarks * The IDs of instances. You can specify up to 100 instance IDs in a single request. You must specify at least one of the `InstanceIds` and `RamRoleName` parameters. * * @example * ["i-bp67acfmxazb1p****", "i-bp67acfmxazb2p****", "bp67acfmxazb3p****"…] */ instanceIds?: string; ownerId?: number; /** * @remarks * The number of the page to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The name of the instance 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. You must specify at least one of the `InstanceIds` and `RamRoleName` parameters. * * @example * EcsServiceRole-EcsDocGuideTest */ ramRoleName?: string; /** * @remarks * The region ID of the instance RAM role. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', ramRoleName: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceRamRoleResponseBody extends $tea.Model { /** * @remarks * Details about the instance RAM roles. */ instanceRamRoleSets?: DescribeInstanceRamRoleResponseBodyInstanceRamRoleSets; /** * @remarks * The region ID of the instance RAM role. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instance RAM roles returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceRamRoleSets: 'InstanceRamRoleSets', regionId: 'RegionId', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceRamRoleSets: DescribeInstanceRamRoleResponseBodyInstanceRamRoleSets, regionId: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceRamRoleResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceRamRoleResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceRamRoleResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceStatusRequest extends $tea.Model { /** * @remarks * The cluster ID of the instances. * * @example * cls-bp67acfmxazb4p**** */ clusterId?: string; /** * @remarks * The IDs of the instances. When you use this parameter to specify multiple instance IDs, separate the IDs with commas(,). Example: `InstanceId.1=i-bp1j4i2jdf3owlhe****, InstanceId.2=i-bp1j4i2jdf3o1234****`. * * @example * i-bp1j4i2jdf3owlhe**** */ instanceId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the instances. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The zone ID of the instances. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * @example * cn-hangzhou-d */ zoneId?: string; static names(): { [key: string]: string } { return { clusterId: 'ClusterId', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { clusterId: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceStatusResponseBody extends $tea.Model { /** * @remarks * The status information of the instances. */ instanceStatuses?: DescribeInstanceStatusResponseBodyInstanceStatuses; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instances. * * @example * 58 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceStatuses: 'InstanceStatuses', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceStatuses: DescribeInstanceStatusResponseBodyInstanceStatuses, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceStatusResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTopologyRequest extends $tea.Model { /** * @remarks * The IDs of one or more ECS instances. You can specify a maximum of 100 instance IDs. * * @example * ["i-bp67acfmxazb4p****"] */ instanceIds?: string; ownerId?: number; /** * @remarks * The region ID of the ECS instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTopologyResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details about the topology. */ topologys?: DescribeInstanceTopologyResponseBodyTopologys; static names(): { [key: string]: string } { return { requestId: 'RequestId', topologys: 'Topologys', }; } static types(): { [key: string]: any } { return { requestId: 'string', topologys: DescribeInstanceTopologyResponseBodyTopologys, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTopologyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceTopologyResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceTopologyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypeFamiliesRequest extends $tea.Model { /** * @remarks * The generation of the instance family. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). Valid values: * * * ecs-1: Generation I, which consists of the earliest and cost-effective instance types * * ecs-2: Generation II, which provides upgraded software and hardware and higher performance than Generation I * * ecs-3: Generation III, which consists of high-performance instance families and is suitable for different business scenarios * * ecs-4: Generation IV, which consists of enterprise-level instance families (such as g5, c5, and r5), ECS Bare Metal Instance families (such as ebmc5s, ebmg5s, and ebmr5s), and burstable instance families (such as t5) and can meet a wide variety of business requirements with lower latency * * ecs-5: Generation V, which consists of enterprise-level instance families (such as g6, c6, and r6), ECS Bare Metal Instance families (such as ebmg6, ebmg6e, and ebmc6), and storage-enhanced instance families (such as g6e) and delivers quick response times and higher performance * * ecs-6: Generation VI, which consists of enterprise-level instance families (such as hfc7, hfg7, and hfr7) and ECS Bare Metal Instance families (such as ebmhfg7) and is in invitational preview * * @example * ecs-5 */ generation?: string; /** * @example * ECSforCloud@Alibaba.com */ ownerAccount?: string; /** * @example * 155780923770 */ ownerId?: number; /** * @remarks * The region ID of the instance family. 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; /** * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @example * 155780923770 */ resourceOwnerId?: number; static names(): { [key: string]: string } { return { generation: 'Generation', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { generation: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypeFamiliesResponseBody extends $tea.Model { /** * @remarks * The instance families. */ instanceTypeFamilies?: DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamilies; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { instanceTypeFamilies: 'InstanceTypeFamilies', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceTypeFamilies: DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamilies, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypeFamiliesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceTypeFamiliesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceTypeFamiliesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesRequest extends $tea.Model { /** * @remarks * The CPU architecture. Valid values: * * * X86 * * ARM * * @example * X86 */ cpuArchitecture?: string; /** * @remarks * The CPU architectures of instance types. Valid values: * * > Valid values of N: 1 and 2. * * * X86 * * ARM */ cpuArchitectures?: string[]; /** * @remarks * The GPU model. * * > Fuzzy match is supported. For example, if an instance type provides NVIDIA V100 GPUs and you set this parameter to NVIDIA, information about the instance type is queried. * * @example * NVIDIA V100 */ GPUSpec?: string; /** * @remarks * The GPU models of instance types. Valid values of N: 1 to 10. */ gpuSpecs?: string[]; /** * @remarks * The categories of instance types. Valid values: * * > Valid values of N: 1 to 10. * * * General-purpose: general-purpose instance type * * Compute-optimized: compute-optimized instance type * * Memory-optimized: memory-optimized instance type * * Big data: big data instance type * * Local SSDs: instance type with local SSDs * * High Clock Speed: instance type with high clock speeds * * Enhanced: enhanced instance type * * Shared: shared instance type * * Compute-optimized with GPU: GPU-accelerated compute-optimized instance type * * Visual Compute-optimized: visual compute-optimized instance type * * Heterogeneous Service: heterogeneous service instance type * * Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type * * Compute-optimized with NPU: NPU-accelerated compute-optimized instance type * * ECS Bare Metal: ECS Bare Metal Instance type * * Super Computing Cluster: SCC instance type * * High Performance Compute: high-performance computing instance type */ instanceCategories?: string[]; /** * @remarks * The category of the instance type. Valid values: * * * General-purpose: general-purpose instance type * * Compute-optimized: compute-optimized instance type * * Memory-optimized: memory-optimized instance type * * Big data: big data instance type * * Local SSDs: instance type with local SSDs * * High Clock Speed: instance type with high clock speeds * * Enhanced: enhanced instance type * * Shared: shared instance type * * Compute-optimized with GPU: GPU-accelerated compute-optimized instance type * * Visual Compute-optimized: visual compute-optimized instance type * * Heterogeneous Service: heterogeneous service instance type * * Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type * * Compute-optimized with NPU: NPU-accelerated compute-optimized instance type * * ECS Bare Metal: ECS Bare Metal Instance type * * Super Computing Cluster: Super Computing Cluster (SCC) instance type * * High Performance Compute: high-performance computing instance type * * @example * Big data */ instanceCategory?: string; /** * @remarks * The level of the instance family. Valid values: * * * EntryLevel: entry level (shared) * * EnterpriseLevel: enterprise level * * CreditEntryLevel: credit-based entry level * * @example * EntryLevel */ instanceFamilyLevel?: string; /** * @remarks * The instance families of instance types that you want to query. Valid values of N: 1 to 10. */ instanceTypeFamilies?: string[]; /** * @remarks * The instance family to which the instance type belongs. For information about the valid values of this parameter, see [DescribeInstanceTypeFamilies](https://help.aliyun.com/document_detail/25621.html). * * For more information about instance families, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * ecs.g6 */ instanceTypeFamily?: string; /** * @remarks * Instance type N. Valid values of N: 1 to 10. If this parameter is left empty, information about all instance types is queried. * * @example * ecs.g6.large */ instanceTypes?: string[]; /** * @remarks * The categories of local disks. Valid values of N: 1 and 2. For more information, see [Local disks](~~63138#section_n2w_8yc_5u1~~). Valid values: * * * local_hdd_pro: local SATA HDDs, which are attached to d1ne or d1 instances * * local_ssd_pro: local NVMe SSDs, which are attached to i2, i2g, i1, ga1, or gn5 instances */ localStorageCategories?: string[]; /** * @remarks * The category of local disks. For more information, see [Local disks](~~63138#section_n2w_8yc_5u1~~). Valid values: * * * local_hdd_pro: local Serial Advanced Technology Attachment (SATA) HDDs, which are attached to d1ne or d1 instances. * * local_ssd_pro: local Non-Volatile Memory Express (NVMe) SSDs, which are attached to i2, i2g, i1, ga1, or gn5 instances. * * Valid values: * * * local_hdd_pro * * local_ssd_pro * * @example * local_ssd_pro */ localStorageCategory?: string; /** * @remarks * The maximum number of entries per page. Valid values: 1 to 1600. * * Default value: 1600. * * @example * 10 * * **if can be null:** * false */ maxResults?: number; /** * @remarks * The maximum number of vCPUs. The value must be a positive integer. * * > If an instance type has more vCPUs than the specified value, information about the instance type is not queried. * * @example * 10 */ maximumCpuCoreCount?: number; /** * @remarks * The maximum clock speed. * * > If an instance type uses processors that have a higher clock speed than the specified value, information about the instance type is not queried. * * @example * 3.2 */ maximumCpuSpeedFrequency?: number; /** * @remarks * The maximum turbo frequency. * * > If an instance type uses processors that deliver a higher turbo frequency than the specified value, information about the instance type is not queried. * * @example * 4.1 */ maximumCpuTurboFrequency?: number; /** * @remarks * The maximum number of GPUs. The value must be a positive integer. * * > If an instance type provides more GPUs than the specified value, information about the instance type is not queried. * * @example * 10 */ maximumGPUAmount?: number; /** * @remarks * The maximum memory size. Unit: GiB. * * > If the memory size of an instance type is larger than the specified value, information about the instance type is not queried. * * @example * 60 */ maximumMemorySize?: number; /** * @remarks * The minimum baseline CPU performance (overall baseline performance of all vCPUs) of a t5 or t6 burstable instance. * * > If a t5 or t6 instance type provides baseline CPU performance lower than the specified value, information about the instance type is not queried. * * @example * 12 */ minimumBaselineCredit?: number; /** * @remarks * The minimum number of vCPUs. The value must be a positive integer. * * > If an instance type has fewer vCPUs than the specified value, information about the instance type is not queried. * * @example * 2 */ minimumCpuCoreCount?: number; /** * @remarks * The minimum clock speed. * * > If an instance type uses processors that have a lower clock speed than the specified value, information about the instance type is not queried. * * @example * 2.5 */ minimumCpuSpeedFrequency?: number; /** * @remarks * The minimum turbo frequency. * * > If an instance type uses processors that deliver a lower turbo frequency than the specified value, information about the instance type is not queried. * * @example * 3.2 */ minimumCpuTurboFrequency?: number; /** * @remarks * The minimum number of cloud disks per instance. * * > If an instance type supports fewer cloud disks than the specified value, information about the instance type is not queried. * * @example * 4 */ minimumDiskQuantity?: number; /** * @remarks * The minimum number of IPv6 addresses per ENI. * * > If an instance type supports fewer IPv6 addresses per ENI than the specified value, information about the instance type is not queried. * * @example * 2 */ minimumEniIpv6AddressQuantity?: number; /** * @remarks * The minimum number of IPv4 addresses per ENI. * * > If an instance type supports fewer IPv4 addresses per ENI than the specified value, information about the instance type is not queried. * * @example * 2 */ minimumEniPrivateIpAddressQuantity?: number; /** * @remarks * The minimum number of elastic network interfaces (ENIs) per instance. * * > If an instance type supports fewer ENIs than the specified value, information about the instance type is not queried. * * @example * 4 */ minimumEniQuantity?: number; /** * @remarks * The minimum number of ERIs per instance. * * > If an instance type supports fewer ERIs than the specified value, information about the instance type is not queried. * * @example * 0 */ minimumEriQuantity?: number; /** * @remarks * The minimum number of GPUs. The value must be a positive integer. * * > If an instance type provides fewer GPUs than the specified value, information about the instance type is not queried. * * @example * 3 */ minimumGPUAmount?: number; /** * @remarks * The minimum initial CPU credits of a t5 or t6 burstable instance. * * > If a t5 or t6 instance type provides less initial vCPU credits than the specified value, information about the instance type is not queried. * * @example * 12 */ minimumInitialCredit?: number; /** * @remarks * The minimum inbound internal bandwidth. Unit: Kbit/s. * * > If an instance type provides an inbound internal bandwidth that is lower than the specified value, information about the instance type is not queried. * * @example * 12288 */ minimumInstanceBandwidthRx?: number; /** * @remarks * The minimum outbound internal bandwidth. Unit: Kbit/s. * * > If an instance type provides an outbound internal bandwidth that is lower than the specified value, information about the instance type is not queried. * * @example * 12288 */ minimumInstanceBandwidthTx?: number; /** * @remarks * The minimum inbound packet forwarding rate over the internal network. Unit: pps. * * > If an instance type provides an inbound packet forwarding rate over the internal network that is lower than the specified value, information about the instance type is not queried. * * @example * 15 */ minimumInstancePpsRx?: number; /** * @remarks * The minimum outbound packet forwarding rate over the internal network. Unit: pps. * * > If an instance type provides an outbound packet forwarding rate over the internal network that is lower than the specified value, information about the instance type is not queried. * * @example * 15 */ minimumInstancePpsTx?: number; /** * @remarks * The minimum number of local disks per instance. * * > If an instance type supports fewer local disks than the specified value, information about the instance type is not queried. * * @example * 4 */ minimumLocalStorageAmount?: number; /** * @remarks * The capacity of each local disk attached per instance. Unit: GiB. * * @example * 40 */ minimumLocalStorageCapacity?: number; /** * @remarks * The minimum memory size. Unit: GiB. * * > If the memory size of an instance type is smaller than the specified value, information about the instance type is not queried. * * @example * 20 */ minimumMemorySize?: number; /** * @remarks * The minimum default number of queues per primary network interface controller (NIC). * * > If an instance type supports fewer queues per primary NIC than the specified value, information about the instance type is not queried. * * @example * 8 */ minimumPrimaryEniQueueNumber?: number; /** * @remarks * The minimum number of queue pair (QP) queues per elastic RDMA interface (ERI). * * > If an instance type supports fewer QP queues per ERI than the specified value, information about the instance type is not queried. * * @example * 8 */ minimumQueuePairNumber?: number; /** * @remarks * The minimum default number of queues per secondary NIC. * * > If an instance type supports fewer queues per secondary NIC than the specified value, information about the instance type is not queried. * * @example * 4 */ minimumSecondaryEniQueueNumber?: number; /** * @remarks * The query token. Set the value to the NextToken value returned in the previous call to the DescribeInstanceTypes operation. You do not need to specify this parameter for the first request. * * @example * e71d8a535bd9cc11 * * **if can be null:** * true */ nextToken?: string; /** * @remarks * Specifies whether cloud disks can be attached by using the NVMe protocol. Valid values: * * * required: Cloud disks can be attached by using the NVMe protocol. * * unsupported: Cloud disks cannot be attached by using the NVMe protocol. * * @example * required */ nvmeSupport?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The CPU model. * * > Fuzzy match is supported. For example, if an instance type uses Intel Xeon (Ice Lake) Platinum 8369B processors and you set this parameter to Intel, information about the instance type is queried. * * @example * Intel Xeon(Ice Lake) Platinum 8369B */ physicalProcessorModel?: string; /** * @remarks * The CPU models of instance types. Valid values of N: 1 to 10. */ physicalProcessorModels?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { cpuArchitecture: 'CpuArchitecture', cpuArchitectures: 'CpuArchitectures', GPUSpec: 'GPUSpec', gpuSpecs: 'GpuSpecs', instanceCategories: 'InstanceCategories', instanceCategory: 'InstanceCategory', instanceFamilyLevel: 'InstanceFamilyLevel', instanceTypeFamilies: 'InstanceTypeFamilies', instanceTypeFamily: 'InstanceTypeFamily', instanceTypes: 'InstanceTypes', localStorageCategories: 'LocalStorageCategories', localStorageCategory: 'LocalStorageCategory', maxResults: 'MaxResults', maximumCpuCoreCount: 'MaximumCpuCoreCount', maximumCpuSpeedFrequency: 'MaximumCpuSpeedFrequency', maximumCpuTurboFrequency: 'MaximumCpuTurboFrequency', maximumGPUAmount: 'MaximumGPUAmount', maximumMemorySize: 'MaximumMemorySize', minimumBaselineCredit: 'MinimumBaselineCredit', minimumCpuCoreCount: 'MinimumCpuCoreCount', minimumCpuSpeedFrequency: 'MinimumCpuSpeedFrequency', minimumCpuTurboFrequency: 'MinimumCpuTurboFrequency', minimumDiskQuantity: 'MinimumDiskQuantity', minimumEniIpv6AddressQuantity: 'MinimumEniIpv6AddressQuantity', minimumEniPrivateIpAddressQuantity: 'MinimumEniPrivateIpAddressQuantity', minimumEniQuantity: 'MinimumEniQuantity', minimumEriQuantity: 'MinimumEriQuantity', minimumGPUAmount: 'MinimumGPUAmount', minimumInitialCredit: 'MinimumInitialCredit', minimumInstanceBandwidthRx: 'MinimumInstanceBandwidthRx', minimumInstanceBandwidthTx: 'MinimumInstanceBandwidthTx', minimumInstancePpsRx: 'MinimumInstancePpsRx', minimumInstancePpsTx: 'MinimumInstancePpsTx', minimumLocalStorageAmount: 'MinimumLocalStorageAmount', minimumLocalStorageCapacity: 'MinimumLocalStorageCapacity', minimumMemorySize: 'MinimumMemorySize', minimumPrimaryEniQueueNumber: 'MinimumPrimaryEniQueueNumber', minimumQueuePairNumber: 'MinimumQueuePairNumber', minimumSecondaryEniQueueNumber: 'MinimumSecondaryEniQueueNumber', nextToken: 'NextToken', nvmeSupport: 'NvmeSupport', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', physicalProcessorModel: 'PhysicalProcessorModel', physicalProcessorModels: 'PhysicalProcessorModels', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { cpuArchitecture: 'string', cpuArchitectures: { 'type': 'array', 'itemType': 'string' }, GPUSpec: 'string', gpuSpecs: { 'type': 'array', 'itemType': 'string' }, instanceCategories: { 'type': 'array', 'itemType': 'string' }, instanceCategory: 'string', instanceFamilyLevel: 'string', instanceTypeFamilies: { 'type': 'array', 'itemType': 'string' }, instanceTypeFamily: 'string', instanceTypes: { 'type': 'array', 'itemType': 'string' }, localStorageCategories: { 'type': 'array', 'itemType': 'string' }, localStorageCategory: 'string', maxResults: 'number', maximumCpuCoreCount: 'number', maximumCpuSpeedFrequency: 'number', maximumCpuTurboFrequency: 'number', maximumGPUAmount: 'number', maximumMemorySize: 'number', minimumBaselineCredit: 'number', minimumCpuCoreCount: 'number', minimumCpuSpeedFrequency: 'number', minimumCpuTurboFrequency: 'number', minimumDiskQuantity: 'number', minimumEniIpv6AddressQuantity: 'number', minimumEniPrivateIpAddressQuantity: 'number', minimumEniQuantity: 'number', minimumEriQuantity: 'number', minimumGPUAmount: 'number', minimumInitialCredit: 'number', minimumInstanceBandwidthRx: 'number', minimumInstanceBandwidthTx: 'number', minimumInstancePpsRx: 'number', minimumInstancePpsTx: 'number', minimumLocalStorageAmount: 'number', minimumLocalStorageCapacity: 'number', minimumMemorySize: 'number', minimumPrimaryEniQueueNumber: 'number', minimumQueuePairNumber: 'number', minimumSecondaryEniQueueNumber: 'number', nextToken: 'string', nvmeSupport: 'string', ownerAccount: 'string', ownerId: 'number', physicalProcessorModel: 'string', physicalProcessorModels: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBody extends $tea.Model { /** * @remarks * Details about the instance types. */ instanceTypes?: DescribeInstanceTypesResponseBodyInstanceTypes; /** * @remarks * The query token returned in this call. * * @example * e71d8a535bd9cc11 */ nextToken?: string; /** * @remarks * The ID of the request. * * @example * 00827261-20B7-4562-83F2-4DF39876A45A */ requestId?: string; static names(): { [key: string]: string } { return { instanceTypes: 'InstanceTypes', nextToken: 'NextToken', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceTypes: DescribeInstanceTypesResponseBodyInstanceTypes, nextToken: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceTypesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceTypesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceVncUrlRequest extends $tea.Model { /** * @remarks * The ID of the instance * * This parameter is required. * * @example * i-bp1hzoinajzkh91h**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceVncUrlResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The VNC logon address. * * > **The address returned is valid only for 15 seconds. If a connection is not established within 15 seconds after a successful call, the address expires and you must recall the operation to obtain a new address. * * @example * wss%3A%2F%2Fhz01-vncproxy.aliyun.com%2Fwebsockify%2F%3Fs%3DDvh%252FIA%252BYc73gWO48cBx2gBxUDVzaAnSKr74pq30mzqUYgeUMcB%252FbkNixDxdEA996 */ vncUrl?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', vncUrl: 'VncUrl', }; } static types(): { [key: string]: any } { return { requestId: 'string', vncUrl: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceVncUrlResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstanceVncUrlResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstanceVncUrlResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesRequest extends $tea.Model { filter?: DescribeInstancesRequestFilter[]; /** * @remarks * The additional attributes. Valid values of N: 1 to 20. Valid values: * * * META_OPTIONS: instance metadata * * DDH_CLUSTER: dedicated host cluster * * NETWORK_PRIMARY_ENI_IP: secondary IP address associated with the primary ENI * * CPU_OPTIONS_TOPOLOGY_TYPE: CPU topology type of the instance * * @example * META_OPTIONS */ additionalAttributes?: string[]; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * false */ deviceAvailable?: boolean; /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized RAM users, and missing parameter values. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * Default value: false. * * @example * false */ dryRun?: boolean; /** * @remarks * The elastic IP addresses (EIPs) of instances. This parameter is valid when InstanceNetworkType is set to vpc. The value can be a JSON array that consists of up to 100 IP addresses. Separate the IP addresses with commas (,). * * @example * ["42.1.1.**", "42.1.2.**", … "42.1.10.**"] */ eipAddresses?: string; /** * @remarks * The ID of the high-performance computing (HPC) cluster to which the instance belongs. * * @example * hpc-bp67acfmxazb4p**** */ hpcClusterId?: string; /** * @remarks * Specifies whether the access channel is enabled for instance metadata. Valid values: * * * enabled * * disabled * * Default value: enabled. * * > For information about instance metadata, see [Access instance metadata](https://help.aliyun.com/document_detail/49122.html). * * @example * enabled */ httpEndpoint?: string; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * 0 */ httpPutResponseHopLimit?: number; /** * @remarks * Specifies whether the security hardening mode (IMDSv2) is forcefully used to access instance metadata. Valid values: * * * optional: The security hardening mode (IMDSv2) is not forcefully used. * * required: The security hardening mode (IMDSv2) is forcefully used. After you set this parameter to required, you cannot access instance metadata in normal mode. * * Default value: optional. * * > For information about modes of accessing instance metadata, see [Access instance metadata](https://help.aliyun.com/document_detail/150575.html). * * @example * optional */ httpTokens?: string; /** * @remarks * The ID of the image. * * @example * m-bp67acfmxazb4p**** */ imageId?: string; /** * @remarks * The internal IP addresses of instances located in the classic network. This parameter is valid when InstanceNetworkType is set to classic. The value can be a JSON array that consists of up to 100 IP addresses. Separate the IP addresses with commas (,). * * @example * ["10.1.1.1", "10.1.2.1", … "10.1.10.1"] */ innerIpAddresses?: string; /** * @remarks * The billing method of the instance. Valid values: * * * PostPaid: pay-as-you-go * * PrePaid: subscription * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The ID of the instance. The value can be a JSON array that consists of up to 100 instance IDs. Separate the IDs with commas (,). * * @example * ["i-bp67acfmxazb4p****", "i-bp67acfmxazb4p****", … "i-bp67acfmxazb4p****"] */ instanceIds?: string; /** * @remarks * The name of the instance. Fuzzy search with asterisk (\\*) wildcard characters is supported. * * @example * Test */ instanceName?: string; /** * @remarks * The network type of the instance. Valid values: * * * classic * * vpc * * @example * vpc */ instanceNetworkType?: string; /** * @remarks * The instance type of the instance. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * The instance family of the instance. * * @example * ecs.g5 */ instanceTypeFamily?: string; /** * @remarks * The billing method for network usage. Valid values: * * * PayByBandwidth * * PayByTraffic * * > When the **pay-by-traffic** billing method is used for network usage, the maximum inbound and outbound bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios in which demands exceed resource supplies, the maximum bandwidths may not be reached. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage. * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * Specifies whether the instance is an I/O optimized instance. Valid values: * * * true * * false * * @example * true */ ioOptimized?: boolean; /** * @remarks * The IPv6 addresses assigned to elastic network interfaces (ENIs). * * **if can be null:** * false */ ipv6Address?: string[]; /** * @remarks * The name of the SSH key pair bound to the instance. * * @example * KeyPairNameTest */ keyPairName?: string; /** * @remarks * The reason why the instance is locked. Valid values: * * * financial: The instance is locked due to overdue payments. * * security: The instance is locked due to security reasons. * * recycling: The preemptible instance is locked and pending release. * * dedicatedhostfinancial: The instance is locked due to overdue payments for the dedicated host. * * refunded: The instance is locked because a refund is made for the instance. * * @example * security */ lockReason?: string; /** * @remarks * The maximum number of entries per page. Valid values: 1 to 100. * * Default value: * * * If you do not specify this parameter or if you set this parameter to a value that is smaller than 10, the default value is 10. * * If you set this parameter to a value that is greater than 100, the default value is 100. * * @example * 10 */ maxResults?: number; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * false */ needSaleCycle?: boolean; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of `NextToken`. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The private IP addresses of instances located in a VPC. This parameter is valid when InstanceNetworkType is set to vpc. The value can be a JSON array that consists of up to 100 IP addresses. Separate the IP addresses with commas (,). * * @example * ["172.16.1.1", "172.16.2.1", … "172.16.10.1"] */ privateIpAddresses?: string; /** * @remarks * The public IP addresses of instances. The value can be a JSON array that consists of up to 100 IP addresses. Separate the IP addresses with commas (,). * * @example * ["42.1.1.**", "42.1.2.**", … "42.1.10.**"] */ publicIpAddresses?: string; /** * @remarks * The remote direct memory access (RDMA) IP addresses of the instance in the HPC cluster. * * @example * 10.10.10.102 */ rdmaIpAddresses?: string; /** * @remarks * The region ID of the instance. 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 the instance belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the security group to which the instance belongs. * * @example * sg-bp67acfmxazb4p**** */ securityGroupId?: string; /** * @remarks * The status of the instance. Valid values: * * * Pending: The instance is being created. * * Running: The instance is running. * * Starting: The instance is being started. * * Stopping: The instance is being stopped. * * Stopped: The instance is stopped. * * @example * Running */ status?: string; /** * @remarks * The tags of the instance. */ tag?: DescribeInstancesRequestTag[]; /** * @remarks * The ID of the vSwitch. * * @example * vsw-bp67acfmxazb4p**** */ vSwitchId?: string; /** * @remarks * The ID of the virtual private cloud (VPC). * * @example * v-bp67acfmxazb4p**** */ vpcId?: string; /** * @remarks * The zone ID of the instance. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { filter: 'Filter', additionalAttributes: 'AdditionalAttributes', deviceAvailable: 'DeviceAvailable', dryRun: 'DryRun', eipAddresses: 'EipAddresses', hpcClusterId: 'HpcClusterId', httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', imageId: 'ImageId', innerIpAddresses: 'InnerIpAddresses', instanceChargeType: 'InstanceChargeType', instanceIds: 'InstanceIds', instanceName: 'InstanceName', instanceNetworkType: 'InstanceNetworkType', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', internetChargeType: 'InternetChargeType', ioOptimized: 'IoOptimized', ipv6Address: 'Ipv6Address', keyPairName: 'KeyPairName', lockReason: 'LockReason', maxResults: 'MaxResults', needSaleCycle: 'NeedSaleCycle', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', privateIpAddresses: 'PrivateIpAddresses', publicIpAddresses: 'PublicIpAddresses', rdmaIpAddresses: 'RdmaIpAddresses', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', status: 'Status', tag: 'Tag', vSwitchId: 'VSwitchId', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeInstancesRequestFilter }, additionalAttributes: { 'type': 'array', 'itemType': 'string' }, deviceAvailable: 'boolean', dryRun: 'boolean', eipAddresses: 'string', hpcClusterId: 'string', httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', imageId: 'string', innerIpAddresses: 'string', instanceChargeType: 'string', instanceIds: 'string', instanceName: 'string', instanceNetworkType: 'string', instanceType: 'string', instanceTypeFamily: 'string', internetChargeType: 'string', ioOptimized: 'boolean', ipv6Address: { 'type': 'array', 'itemType': 'string' }, keyPairName: 'string', lockReason: 'string', maxResults: 'number', needSaleCycle: 'boolean', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', privateIpAddresses: 'string', publicIpAddresses: 'string', rdmaIpAddresses: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', status: 'string', tag: { 'type': 'array', 'itemType': DescribeInstancesRequestTag }, vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBody extends $tea.Model { /** * @remarks * Details about the queried instances. */ instances?: DescribeInstancesResponseBodyInstances; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instances queried. * * > If you specify the `MaxResults` and `NextToken` request parameters to perform a paged query, the value of the `TotalCount` response parameter is invalid. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { instances: 'Instances', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instances: DescribeInstancesResponseBodyInstances, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusRequest extends $tea.Model { eventPublishTime?: DescribeInstancesFullStatusRequestEventPublishTime; notBefore?: DescribeInstancesFullStatusRequestNotBefore; /** * @remarks * The IDs of the system events. You can specify up to 100 event IDs in a single request. * * @example * e-bp1hygp5b04o56l0**** */ eventId?: string[]; /** * @remarks * The type of the system event. This parameter is valid only when InstanceEventType.N is not specified. Valid values: * * * SystemMaintenance.Reboot: The instance is restarted due to system maintenance. * * SystemFailure.Reboot: The instance is restarted due to a system failure. * * InstanceFailure.Reboot: The instance is restarted due to an instance failure. * * InstanceExpiration.Stop: The subscription instance is stopped due to expiration. * * InstanceExpiration.Delete: The subscription instance is released due to expiration. * * AccountUnbalanced.Stop: The pay-as-you-go instance is stopped due to an overdue payment. * * AccountUnbalanced.Delete: The pay-as-you-go instance is released due to an overdue payment. * * @example * InstanceExpiration.Stop */ eventType?: string; /** * @remarks * The health status of the instance. Valid values: * * * OK * * Impaired * * Initializing * * InsufficientData * * NotApplicable * * All the values are case-sensitive. * * @example * Maintaining */ healthStatus?: string; /** * @remarks * The types of system events. You can specify up to 30 event types in a single request. * * @example * InstanceExpiration.Stop */ instanceEventType?: string[]; /** * @remarks * The IDs of the instances. You can specify up to 100 instance IDs in a single request. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. The value must be a positive integer. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The lifecycle status of the instance. Valid values: * * * Starting * * Running * * Stopped * * @example * Running */ status?: string; static names(): { [key: string]: string } { return { eventPublishTime: 'EventPublishTime', notBefore: 'NotBefore', eventId: 'EventId', eventType: 'EventType', healthStatus: 'HealthStatus', instanceEventType: 'InstanceEventType', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', }; } static types(): { [key: string]: any } { return { eventPublishTime: DescribeInstancesFullStatusRequestEventPublishTime, notBefore: DescribeInstancesFullStatusRequestNotBefore, eventId: { 'type': 'array', 'itemType': 'string' }, eventType: 'string', healthStatus: 'string', instanceEventType: { 'type': 'array', 'itemType': 'string' }, instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBody extends $tea.Model { /** * @remarks * The queried instances. * * > If no instances exist, this parameter is empty. */ instanceFullStatusSet?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSet; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { instanceFullStatusSet: 'InstanceFullStatusSet', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instanceFullStatusSet: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSet, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInstancesFullStatusResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInstancesFullStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsRequest extends $tea.Model { /** * @remarks * The ID of the command. * * @example * c-hz0jdfwcsr**** */ commandId?: string; /** * @remarks * The encoding mode of the `CommandContent` and `Output` values in the response. Valid values: * * * PlainText: returns the original command content and command output. * * Base64: returns the Base64-encoded command content and command output. * * Default value: Base64. * * @example * PlainText */ contentEncoding?: string; /** * @remarks * Specifies whether to return the results of historical scheduled executions. Valid values: * * * true: returns the results of historical scheduled executions. If you set this parameter to true, you must set InvokeId to the ID of a task that is run on a schedule (RepeatMode set to Period) or on each system startup (RepeatMode set to EveryReboot). * * false: does not return the results of historical scheduled executions. * * Default value: false. * * @example * false */ includeHistory?: boolean; /** * @remarks * The ID of the instance. * * @example * i-bp1i7gg30r52z2em**** */ instanceId?: string; /** * @remarks * The ID of the command task. You can call the [DescribeInvocations](https://help.aliyun.com/document_detail/64840.html) operation to query the IDs of all command tasks. * * @example * t-hz0jdfwd9f**** */ invokeId?: string; /** * @remarks * The execution status of the command task. Valid values: * * * Running: * * * Scheduled task: Before you stop the scheduled execution of the command, the execution state is always Running. * * One-time task: If the command is being run on instances, the execution state is Running. * * * Finished: * * * Scheduled task: The execution state can never be Finished. * * One-time task: The execution is complete on all instances, or the execution is stopped on some instances and is complete on the other instances. * * * Success: * * * One-time task: The execution is complete, and the exit code is 0. * * Scheduled task: The last execution is complete, the exit code is 0, and the specified period ends. * * * Failed: * * * Scheduled task: The execution state can never be Failed. * * One-time task: The execution fails on all instances. * * * PartialFailed: * * * Scheduled task: The execution state can never be PartialFailed. * * One-time task: The execution fails on some instances. * * * Stopped: The task is stopped. * * * Stopping: The task is being stopped. * * @example * Running */ invokeRecordStatus?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 1 */ pageSize?: number; /** * @remarks * The region ID of the command. 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. After you set this parameter, command execution results in the specified resource group are queried. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the command task. */ tag?: DescribeInvocationResultsRequestTag[]; static names(): { [key: string]: string } { return { commandId: 'CommandId', contentEncoding: 'ContentEncoding', includeHistory: 'IncludeHistory', instanceId: 'InstanceId', invokeId: 'InvokeId', invokeRecordStatus: 'InvokeRecordStatus', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { commandId: 'string', contentEncoding: 'string', includeHistory: 'boolean', instanceId: 'string', invokeId: 'string', invokeRecordStatus: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeInvocationResultsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBody extends $tea.Model { /** * @remarks * Details about the execution results. */ invocation?: DescribeInvocationResultsResponseBodyInvocation; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE***** */ requestId?: string; static names(): { [key: string]: string } { return { invocation: 'Invocation', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { invocation: DescribeInvocationResultsResponseBodyInvocation, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInvocationResultsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInvocationResultsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsRequest extends $tea.Model { /** * @remarks * The command ID. You can call the [DescribeCommands](https://help.aliyun.com/document_detail/64843.html) operation to query all available command IDs. * * @example * c-hz0jdfwcsr**** */ commandId?: string; /** * @remarks * The command name. If you specify both this parameter and `InstanceId`, this parameter does not take effect. * * @example * CommandTestName */ commandName?: string; /** * @remarks * The command type. Valid values: * * * RunBatScript: batch command, applicable to Windows instances. * * RunPowerShellScript: PowerShell command, applicable to Windows instances. * * RunShellScript: shell command, applicable to Linux instances. * * @example * RunShellScript */ commandType?: string; /** * @remarks * The encoding mode of the `CommandContent` and `Output` response parameters. Valid values: * * * PlainText: returns the original command content and command outputs. * * Base64: returns the Base64-encoded command content and command outputs. * * Default value: Base64. * * @example * PlainText */ contentEncoding?: string; /** * @remarks * Specifies whether to return the command outputs in the response. * * * true: The command outputs are returned. When this parameter is set to true, you must specify `InvokeId`, `InstanceId`, or both. * * false: The command outputs are not returned. * * Default value: false * * @example * false */ includeOutput?: boolean; /** * @remarks * The ID of instance N. When you specify this parameter, the system queries all the execution records of all the commands that run on the instance. * * @example * i-bp1i7gg30r52z2em**** */ instanceId?: string; /** * @remarks * The command task ID. * * @example * t-hz0jdfwd9f**** */ invokeId?: string; /** * @remarks * The overall execution status of the command task. The value of this parameter depends on the execution states of the command task on all involved instances. Valid values: * * * Running: * * * Scheduled task: Before you stop the scheduled execution of the command, the overall execution state is always Running. * * One-time task: If the command is being run on instances, the overall execution state is Running. * * * Finished: * * * Scheduled task: The overall execution state can never be Finished. * * One-time task: The execution is complete on all instances, or the execution is stopped on some instances and is complete on the other instances. * * * Success: If the execution state on at least one instance is Success and the execution state on the other instances is Stopped or Success, the overall execution state is Success. * * * One-time task: The execution is complete, and the exit code is 0. * * Scheduled task: The last execution is complete, the exit code is 0, and the specified period ends. * * * Failed: * * * Scheduled task: The overall execution state can never be Failed. * * One-time task: The execution fails on all instances. * * * Stopped: The task is stopped. * * * Stopping: The task is being stopped. * * * PartialFailed: The task fails on some instances. If you specify both this parameter and `InstanceId`, this parameter does not take effect. * * @example * Finished */ invokeStatus?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number of the page to return. * * Page numbers start from 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return per page. * * Maximum value: 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The execution mode of the command. If you specify both this parameter and `InstanceId`, this parameter does not take effect. Valid values: * * * Once: The command is immediately run. * * Period: The command is run on a schedule. * * NextRebootOnly: The command is run the next time the instances start. * * EveryReboot: The command is run every time the instances start. * * This parameter is empty by default, which indicates that commands run in all modes are queried. * * @example * Once */ repeatMode?: string; /** * @remarks * The ID of the resource group. After you set this parameter, command execution results in the specified resource group are queried. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags that are added to the command. */ tag?: DescribeInvocationsRequestTag[]; /** * @remarks * Specifies whether the command is to be automatically run. Valid values: * * * true: The command is run by calling the `RunCommand` or `InvokeCommand` operation with `RepeatMode` set to `Period`, `NextRebootOnly`, or `EveryReboot`. * * * false: The command meets one of the following requirements: * * * The command is run by calling the `RunCommand` or `InvokeCommand` operation with `RepeatMode` set to `Once`. * * The command task is canceled, stopped, or completed. * * Default value: false. * * @example * true */ timed?: boolean; static names(): { [key: string]: string } { return { commandId: 'CommandId', commandName: 'CommandName', commandType: 'CommandType', contentEncoding: 'ContentEncoding', includeOutput: 'IncludeOutput', instanceId: 'InstanceId', invokeId: 'InvokeId', invokeStatus: 'InvokeStatus', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', repeatMode: 'RepeatMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', timed: 'Timed', }; } static types(): { [key: string]: any } { return { commandId: 'string', commandName: 'string', commandType: 'string', contentEncoding: 'string', includeOutput: 'boolean', instanceId: 'string', invokeId: 'string', invokeStatus: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', repeatMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeInvocationsRequestTag }, timed: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBody extends $tea.Model { /** * @remarks * Details about the command executions. */ invocations?: DescribeInvocationsResponseBodyInvocations; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned on each page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The total number of the commands. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { invocations: 'Invocations', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { invocations: DescribeInvocationsResponseBodyInvocations, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeInvocationsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeInvocationsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsRequest extends $tea.Model { /** * @remarks * Specifies whether to include PublicKey in the response. Default value: false. * * @example * false */ includePublicKey?: boolean; /** * @remarks * The fingerprint of the key pair. The message-digest algorithm 5 (MD5) is used based on the public key fingerprint format defined in RFC 4716. For more information, see [RFC 4716](https://tools.ietf.org/html/rfc4716). * * @example * ABC1234567 */ keyPairFingerPrint?: string; /** * @remarks * The name of the key pair. You can use the asterisk (\\*) symbol as a wildcard in regular expressions to perform a fuzzy search for key pairs. Sample patterns: * * * `*SshKey`: queries key pairs whose names end with SshKey, including the key pair named SshKey. * * `SshKey*`: queries key pairs whose names start with SshKey, including the key pair named SshKey. * * `*SshKey*`: queries key pairs whose names include SshKey, including the key pair named SshKey. * * `SshKey`: queries the key pair named SshKey. * * @example * *SshKey* */ keyPairName?: string; ownerId?: number; /** * @remarks * The number of the page to return. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. Maximum value: 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the key pair. 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. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-amnhr7u7c7hj**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags. */ tag?: DescribeKeyPairsRequestTag[]; static names(): { [key: string]: string } { return { includePublicKey: 'IncludePublicKey', keyPairFingerPrint: 'KeyPairFingerPrint', keyPairName: 'KeyPairName', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { includePublicKey: 'boolean', keyPairFingerPrint: 'string', keyPairName: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeKeyPairsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponseBody extends $tea.Model { /** * @remarks * The information of the key pairs. */ keyPairs?: DescribeKeyPairsResponseBodyKeyPairs; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of key pairs. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { keyPairs: 'KeyPairs', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { keyPairs: DescribeKeyPairsResponseBodyKeyPairs, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeKeyPairsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeKeyPairsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsRequest extends $tea.Model { /** * @remarks * Specifies whether to query the default version. * * @example * true */ defaultVersion?: boolean; /** * @remarks * Specifies whether to query the configurations of the launch template. Valid values: * * * true: queries the basic information and other details of the launch template. The details include the image ID and system disk size. * * false: queries only the basic information of the launch template. The basic information includes the template ID, template name, and default version. * * Default value: true. * * @example * true */ detailFlag?: boolean; /** * @remarks * The ID of the launch template. * * You must set `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * lt-bp168lnahrdwl39p**** */ launchTemplateId?: string; /** * @remarks * The name of the launch template. * * You must set `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template. * * @example * testLaunchTemplateName */ launchTemplateName?: string; /** * @remarks * The versions of the launch template. * * @example * 1 */ launchTemplateVersion?: number[]; /** * @remarks * The maximum version number in the version range to query. This parameter is used together with `MinVersion` to specify a version range to query. * * @example * 10 */ maxVersion?: number; /** * @remarks * The minimum version number in the version range to query. This parameter is used together with `MaxVersion` to specify a version range to query. * * @example * 1 */ minVersion?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of the page to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the launch template. * * 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { defaultVersion: 'DefaultVersion', detailFlag: 'DetailFlag', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', launchTemplateVersion: 'LaunchTemplateVersion', maxVersion: 'MaxVersion', minVersion: 'MinVersion', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { defaultVersion: 'boolean', detailFlag: 'boolean', launchTemplateId: 'string', launchTemplateName: 'string', launchTemplateVersion: { 'type': 'array', 'itemType': 'number' }, maxVersion: 'number', minVersion: 'number', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBody extends $tea.Model { /** * @remarks * Details about the launch template versions. */ launchTemplateVersionSets?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSets; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 3989ED0C-20A1-4351-A127-2067FF8390AX */ requestId?: string; /** * @remarks * The total number of launch templates. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { launchTemplateVersionSets: 'LaunchTemplateVersionSets', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { launchTemplateVersionSets: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSets, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeLaunchTemplateVersionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeLaunchTemplateVersionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesRequest extends $tea.Model { /** * @remarks * The IDs of launch templates. * * * You can query up to 100 launch templates. * * You must specify LaunchTemplateId or LaunchTemplateName to specify a launch template. * * @example * lt-m5e3ofjr1zn1aw7q**** */ launchTemplateId?: string[]; /** * @remarks * The names of launch templates. * * * You can query up to 100 launch templates. * * You must specify LaunchTemplateId or LaunchTemplateName to specify a launch template. * * @example * wd-152630748**** */ launchTemplateName?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of entries to return on each page. * * Default value: 10. * * @example * 1 */ pageNumber?: number; /** * @remarks * The ID of the resource group to which the launch template belongs. If you specify this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be returned. * * > Resources in the default resource group are displayed in the response regardless of whether you specify this parameter. * * @example * 10 */ pageSize?: number; /** * @remarks * The tags of the launch template. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The IDs of launch templates. You can specify up to 100 launch template IDs. You must specify LaunchTemplateId or LaunchTemplateName to determine a launch template. * * @example * rg-acfmxazb4p**** */ templateResourceGroupId?: string; /** * @remarks * The tags of the launch template. * * > You can only call API operations to add tags to and query the tags of a launch template. You cannot add tags to or view the tags of a launch template in the Elastic Compute Service (ECS) console. */ templateTag?: DescribeLaunchTemplatesRequestTemplateTag[]; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', templateResourceGroupId: 'TemplateResourceGroupId', templateTag: 'TemplateTag', }; } static types(): { [key: string]: any } { return { launchTemplateId: { 'type': 'array', 'itemType': 'string' }, launchTemplateName: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', templateResourceGroupId: 'string', templateTag: { 'type': 'array', 'itemType': DescribeLaunchTemplatesRequestTemplateTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponseBody extends $tea.Model { /** * @remarks * The queried launch templates. */ launchTemplateSets?: DescribeLaunchTemplatesResponseBodyLaunchTemplateSets; /** * @remarks * The total number of launch templates. * * @example * 1 */ pageNumber?: number; /** * @remarks * The ID of the request. * * @example * 10 */ pageSize?: number; /** * @remarks * The page number of the returned page. * * @example * 04F0F334-1335-436C-A1D7-6C044FE12CBA */ requestId?: string; /** * @remarks * The information about the launch templates. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { launchTemplateSets: 'LaunchTemplateSets', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { launchTemplateSets: DescribeLaunchTemplatesResponseBodyLaunchTemplateSets, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeLaunchTemplatesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeLaunchTemplatesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLimitationRequest extends $tea.Model { /** * @remarks * This parameter is required. */ limitation?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { limitation: 'Limitation', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { limitation: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLimitationResponseBody extends $tea.Model { limitation?: string; requestId?: string; value?: string; static names(): { [key: string]: string } { return { limitation: 'Limitation', requestId: 'RequestId', value: 'Value', }; } static types(): { [key: string]: any } { return { limitation: 'string', requestId: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLimitationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeLimitationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeLimitationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesRequest extends $tea.Model { /** * @remarks * The ID of the activation code. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F7494**** */ activationId?: string; /** * @remarks * The ID of managed instance N. Valid values of N: 1 to 50. * * @example * mi-hz018jrc1o0**** */ instanceId?: string[]; /** * @remarks * The internal or public IP address of the managed instance. * * @example * ``192.168.**.**`` */ instanceIp?: string; /** * @remarks * The name of the managed instance. * * @example * my-webapp-server */ instanceName?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The operating system type of the managed instance. Valid values: * * * windows * * linux * * FreeBSD * * @example * windows */ osType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID. Supported regions: China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), Singapore, Japan (Tokyo), US (Silicon Valley), and US (Virginia). * * 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 the managed instance belongs. * * @example * rg-123****** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the managed instance. */ tag?: DescribeManagedInstancesRequestTag[]; static names(): { [key: string]: string } { return { activationId: 'ActivationId', instanceId: 'InstanceId', instanceIp: 'InstanceIp', instanceName: 'InstanceName', maxResults: 'MaxResults', nextToken: 'NextToken', osType: 'OsType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { activationId: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, instanceIp: 'string', instanceName: 'string', maxResults: 'number', nextToken: 'string', osType: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeManagedInstancesRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesResponseBody extends $tea.Model { /** * @remarks * The queried managed instances. */ instances?: DescribeManagedInstancesResponseBodyInstances[]; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 77115469-F2C5-4ECA-94F7-FA04F2FD**** */ requestId?: string; /** * @remarks * The total number of queried managed instances. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { instances: 'Instances', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instances: { 'type': 'array', 'itemType': DescribeManagedInstancesResponseBodyInstances }, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeManagedInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeManagedInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysRequest extends $tea.Model { natGatewayId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vpcId?: string; static names(): { [key: string]: string } { return { natGatewayId: 'NatGatewayId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { natGatewayId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponseBody extends $tea.Model { natGateways?: DescribeNatGatewaysResponseBodyNatGateways; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { natGateways: 'NatGateways', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { natGateways: DescribeNatGatewaysResponseBodyNatGateways, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeNatGatewaysResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeNatGatewaysResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeRequest extends $tea.Model { /** * @remarks * The attribute of the ENI. Valid value: * * attachment: attachment information about the ENI * * > This parameter is in invitational preview and is not publicly available. * * @example * attachment */ attribute?: string; /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * eni-bp67acfmxazb4p**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the ENI. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * > This parameter is unavailable. */ tag?: DescribeNetworkInterfaceAttributeRequestTag[]; static names(): { [key: string]: string } { return { attribute: 'Attribute', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { attribute: 'string', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBody extends $tea.Model { /** * @remarks * Details about the elastic IP address (EIP) that is associated with the secondary private IP address of the ENI. */ associatedPublicIp?: DescribeNetworkInterfaceAttributeResponseBodyAssociatedPublicIp; /** * @remarks * > This parameter is in invitational preview and unavailable for general users. */ attachment?: DescribeNetworkInterfaceAttributeResponseBodyAttachment; /** * @remarks * > This parameter is in invitational preview and unavailable for general users. */ bondInterfaceSpecification?: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecification; /** * @remarks * > This parameter is not publicly available. */ connectionTrackingConfiguration?: DescribeNetworkInterfaceAttributeResponseBodyConnectionTrackingConfiguration; /** * @remarks * The time when the ENI was created. * * @example * 2019-12-25T12:31:31Z */ creationTime?: string; /** * @remarks * Indicates whether to retain the ENI when the associated instance is released. Valid values: * * * true * * false * * @example * true */ deleteOnRelease?: boolean; /** * @remarks * The description of the ENI. * * @example * testDescription */ description?: string; /** * @remarks * This parameter is not publicly available. */ enhancedNetwork?: DescribeNetworkInterfaceAttributeResponseBodyEnhancedNetwork; /** * @remarks * The ID of the instance to which the ENI is attached. * * > If the ENI is managed and controlled by other Alibaba Cloud services, no instance ID is returned. * * @example * i-bp1e2l6djkndyuli**** */ instanceId?: string; /** * @remarks * The IPv4 prefixes of the ENI. */ ipv4PrefixSets?: DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSets; /** * @remarks * The IPv6 prefixes of the ENI. */ ipv6PrefixSets?: DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSets; /** * @remarks * The IPv6 addresses of the ENI. */ ipv6Sets?: DescribeNetworkInterfaceAttributeResponseBodyIpv6Sets; /** * @remarks * The media access control (MAC) address of the ENI. * * @example * 00:16:3e:12:**:** */ macAddress?: string; /** * @remarks * The ID of the ENI. * * @example * eni-bp125p95hhdhn3ot**** */ networkInterfaceId?: string; /** * @remarks * The name of the ENI. * * @example * my-eni-name */ networkInterfaceName?: string; /** * @remarks * The communication settings of the ENI. */ networkInterfaceTrafficConfig?: DescribeNetworkInterfaceAttributeResponseBodyNetworkInterfaceTrafficConfig; /** * @remarks * The communication model of the ENI. Valid values: * * * Standard: The TCP communication mode is used. * * HighPerformance: The Elastic RDMA Interface (ERI) is enabled and the remote direct memory access (RDMA) communication mode is used. * * > This parameter can have a value of HighPerformance only when the ENI is attached to a c7re RDMA-enhanced instance that resides in Beijing Zone K. * * @example * Standard */ networkInterfaceTrafficMode?: string; /** * @remarks * The ID of the account to which the ENI belongs. * * @example * 123456**** */ ownerId?: string; /** * @remarks * The private IP address of the ENI. * * @example * ``10.1.**.**`` */ privateIpAddress?: string; /** * @remarks * The private IP addresses of the ENI. */ privateIpSets?: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSets; /** * @remarks * The number of queues supported by the ENI. * * * For a primary ENI: The default number of queues that the instance type supports for the ENI is returned. * * * For a secondary ENI: * * * When the ENI is in the InUse state, the following situations occur for the QueueNumber parameter: * * * If the number of queues supported by the ENI has not been modified, the default number of queues that the instance type supports for the ENI is returned. * * If the number of queues supported by the ENI has been modified, the new number of queues is returned. * * * When the ENI is in the Available state, the following situations occur for the QueueNumber parameter: * * * If the number of queues supported by the ENI has not been modified, the return value is empty. * * If the number of queues supported by the ENI has been modified, the new number of queues is returned. * * @example * 8 */ queueNumber?: number; /** * @remarks * > This parameter is in invitational preview and unavailable for general users. * * @example * 22 */ queuePairNumber?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The ID of the resource group to which the instance belongs. If this parameter is specified to query ENIs, up to 1,000 ENIs that belong to the specified resource group can be displayed in the response. * * > ENIs in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; /** * @remarks * The IDs of the security groups to which the ENI belongs. */ securityGroupIds?: DescribeNetworkInterfaceAttributeResponseBodySecurityGroupIds; /** * @remarks * The ID of the distributor to which the ENI belongs. * * @example * 12345678910 */ serviceID?: number; /** * @remarks * Indicates whether the user of the ENI is an Alibaba Cloud service or a distributor. * * @example * true */ serviceManaged?: boolean; /** * @remarks * > This parameter is in invitational preview and unavailable for general users. */ slaveInterfaceSpecification?: DescribeNetworkInterfaceAttributeResponseBodySlaveInterfaceSpecification; /** * @remarks * This parameter is not publicly available. * * @example * false */ sourceDestCheck?: boolean; /** * @remarks * The state of the ENI. Valid values: * * * Available: The ENI is not attached to an instance. * * Attaching: The ENI is being attached to an instance. * * InUse: The ENI is attached to an instance. * * Detaching: The ENI is being detached from an instance. * * Deleting: The ENI is being deleted. * * This parameter is empty by default, which indicates that all states are queried. * * @example * Available */ status?: string; /** * @remarks * The tags of the ENI. */ tags?: DescribeNetworkInterfaceAttributeResponseBodyTags; /** * @remarks * > This parameter is in invitational preview and is not publicly available. * * @example * null */ tcpOptionAddressEnabled?: string; /** * @remarks * The type of the ENI. Valid values: * * * Primary * * Secondary * * @example * Secondary */ type?: string; /** * @remarks * The ID of the vSwitch to which the ENI is connected. * * @example * vsw-bp1s5fnvk4gn2tws0**** */ vSwitchId?: string; /** * @remarks * The ID of the virtual private cloud (VPC) to which the ENI belongs. * * @example * vpc-bp67acfmxazb4p**** */ vpcId?: string; /** * @remarks * The zone ID of the ENI. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { associatedPublicIp: 'AssociatedPublicIp', attachment: 'Attachment', bondInterfaceSpecification: 'BondInterfaceSpecification', connectionTrackingConfiguration: 'ConnectionTrackingConfiguration', creationTime: 'CreationTime', deleteOnRelease: 'DeleteOnRelease', description: 'Description', enhancedNetwork: 'EnhancedNetwork', instanceId: 'InstanceId', ipv4PrefixSets: 'Ipv4PrefixSets', ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', macAddress: 'MacAddress', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficConfig: 'NetworkInterfaceTrafficConfig', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', privateIpSets: 'PrivateIpSets', queueNumber: 'QueueNumber', queuePairNumber: 'QueuePairNumber', requestId: 'RequestId', resourceGroupId: 'ResourceGroupId', securityGroupIds: 'SecurityGroupIds', serviceID: 'ServiceID', serviceManaged: 'ServiceManaged', slaveInterfaceSpecification: 'SlaveInterfaceSpecification', sourceDestCheck: 'SourceDestCheck', status: 'Status', tags: 'Tags', tcpOptionAddressEnabled: 'TcpOptionAddressEnabled', type: 'Type', vSwitchId: 'VSwitchId', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { associatedPublicIp: DescribeNetworkInterfaceAttributeResponseBodyAssociatedPublicIp, attachment: DescribeNetworkInterfaceAttributeResponseBodyAttachment, bondInterfaceSpecification: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecification, connectionTrackingConfiguration: DescribeNetworkInterfaceAttributeResponseBodyConnectionTrackingConfiguration, creationTime: 'string', deleteOnRelease: 'boolean', description: 'string', enhancedNetwork: DescribeNetworkInterfaceAttributeResponseBodyEnhancedNetwork, instanceId: 'string', ipv4PrefixSets: DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSets, ipv6PrefixSets: DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSets, ipv6Sets: DescribeNetworkInterfaceAttributeResponseBodyIpv6Sets, macAddress: 'string', networkInterfaceId: 'string', networkInterfaceName: 'string', networkInterfaceTrafficConfig: DescribeNetworkInterfaceAttributeResponseBodyNetworkInterfaceTrafficConfig, networkInterfaceTrafficMode: 'string', ownerId: 'string', privateIpAddress: 'string', privateIpSets: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSets, queueNumber: 'number', queuePairNumber: 'number', requestId: 'string', resourceGroupId: 'string', securityGroupIds: DescribeNetworkInterfaceAttributeResponseBodySecurityGroupIds, serviceID: 'number', serviceManaged: 'boolean', slaveInterfaceSpecification: DescribeNetworkInterfaceAttributeResponseBodySlaveInterfaceSpecification, sourceDestCheck: 'boolean', status: 'string', tags: DescribeNetworkInterfaceAttributeResponseBodyTags, tcpOptionAddressEnabled: 'string', type: 'string', vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeNetworkInterfaceAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeNetworkInterfaceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacePermissionsRequest extends $tea.Model { /** * @remarks * The ID of ENI N. You must specify `NetworkInterfaceId` or `NetworkInterfacePermissionId.N` to determine the query range. * * @example * eni-bp17pdijfczax**** */ networkInterfaceId?: string; /** * @remarks * The IDs of ENI permissions. You can specify up to 100 ENI permission IDs. * * @example * eni-perm-bp1cs4lwn56lfb**** */ networkInterfacePermissionId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the ENI permission. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { networkInterfaceId: 'NetworkInterfaceId', networkInterfacePermissionId: 'NetworkInterfacePermissionId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { networkInterfaceId: 'string', networkInterfacePermissionId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacePermissionsResponseBody extends $tea.Model { /** * @remarks * Details about the ENI permissions. */ networkInterfacePermissions?: DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissions; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 0FCD3DEF-63D3-4605-A818-805C8BD7DB87 */ requestId?: string; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { networkInterfacePermissions: 'NetworkInterfacePermissions', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { networkInterfacePermissions: DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissions, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacePermissionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeNetworkInterfacePermissionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeNetworkInterfacePermissionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesRequest extends $tea.Model { /** * @remarks * The ID of the instance to which the ENI is attached. * * @example * i-bp1e2l6djkndyuli**** */ instanceId?: string; /** * @remarks * An array that consists of the IPv6 address of the ENI. You can specify multiple IPv6 addresses. Valid values of N: 1 to 100. * * @example * 2408:4321:180:1701:94c7:bc38:3bfa:**** */ ipv6Address?: string[]; /** * @remarks * The maximum number of entries to return on each page. Valid values: 10 to 500. * * Default values: * * * If this parameter is not specified or if this parameter is set to a value less than 10, the default value is 10. * * If this parameter is set to a value greater than 500, the default value is 500. * * @example * 50 */ maxResults?: number; /** * @remarks * An array that consists of the IDs of the ENIs. You specify multiple ENI IDs. Valid values of N: 1 to 100. * * @example * eni-bp125p95hhdhn3ot**** */ networkInterfaceId?: string[]; /** * @remarks * The name of the ENI. * * @example * test-eni-name */ networkInterfaceName?: string; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the last call to this operation. * * For more information about how to check the responses returned by this operation, see the preceding "Description" section. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * > This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 1 * * @deprecated */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 1000. * * Default value: 10. * * > This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 100 * * @deprecated */ pageSize?: number; /** * @remarks * The primary private IPv4 address of the ENI. * * @example * ``192.168.**.**`` */ primaryIpAddress?: string; /** * @remarks * An array that consists of the secondary private IPv4 addresses of the ENI. You can specify multiple secondary private IPv4 addresses. Valid values of N: 1 to 100. * * @example * ``192.168.**.**`` */ privateIpAddress?: string[]; /** * @remarks * The region ID of the ENI. 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 the ENI belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be returned. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is set. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the security group to which the secondary ENI belongs. * * * To query the details of secondary ENIs based on the ID of a security group, specify this parameter. * * To query the details of primary ENIs based on the ID of a security group, call the [DescribeInstances](https://help.aliyun.com/document_detail/25506.html) operation and specify the `SecurityGroupId` parameter. * * @example * sg-bp144yr32sx6ndw**** */ securityGroupId?: string; /** * @remarks * Specifies whether the user of the ENI is an Alibaba Cloud service or a distributor. * * @example * true */ serviceManaged?: boolean; /** * @remarks * The state of the ENI. Valid values: * * * Available: The ENI is available. * * Attaching: The ENI is being attached to an instance. * * InUse: The ENI is attached to an instance. * * Detaching: The ENI is being detached from an instance. * * Deleting: The ENI is being deleted. * * This parameter is empty by default, which indicates that ENIs in all states are queried. * * @example * Available */ status?: string; /** * @remarks * The tags to use for query. */ tag?: DescribeNetworkInterfacesRequestTag[]; /** * @remarks * The type of the ENI. Valid values: * * * Primary * * Secondary * * This parameter is empty by default, which indicates that both primary and secondary ENIs are queried. * * @example * Secondary */ type?: string; /** * @remarks * The ID of the vSwitch with which the ENI is associated. * * @example * vsw-bp16usj2p27htro3**** */ vSwitchId?: string; /** * @remarks * The ID of the virtual private cloud (VPC) to which the elastic network interface (ENI) belongs. * * @example * vsw-bp16usj2p27htro3**** */ vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ipv6Address: 'Ipv6Address', maxResults: 'MaxResults', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', primaryIpAddress: 'PrimaryIpAddress', privateIpAddress: 'PrivateIpAddress', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', serviceManaged: 'ServiceManaged', status: 'Status', tag: 'Tag', type: 'Type', vSwitchId: 'VSwitchId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ipv6Address: { 'type': 'array', 'itemType': 'string' }, maxResults: 'number', networkInterfaceId: { 'type': 'array', 'itemType': 'string' }, networkInterfaceName: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', primaryIpAddress: 'string', privateIpAddress: { 'type': 'array', 'itemType': 'string' }, regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', serviceManaged: 'boolean', status: 'string', tag: { 'type': 'array', 'itemType': DescribeNetworkInterfacesRequestTag }, type: 'string', vSwitchId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBody extends $tea.Model { /** * @remarks * Details of the ENIs. */ networkInterfaceSets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSets; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The page number of the returned page. * * > This parameter will be removed in the future. We recommend that you use the NextToken and MaxResults parameters for a paged query. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * > This parameter will be removed in the future. We recommend that you use the NextToken and MaxResults parameters for a paged query. * * @example * 1 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of ENIs. * * > If you specify the `MaxResults` and `NextToken` parameters to perform a paged query, the value of the `TotalCount` response parameter is invalid. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { networkInterfaceSets: 'NetworkInterfaceSets', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { networkInterfaceSets: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSets, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeNetworkInterfacesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeNetworkInterfacesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNewProjectEipMonitorDataRequest extends $tea.Model { /** * @remarks * This parameter is required. */ allocationId?: string; /** * @remarks * This parameter is required. */ endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ startTime?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { allocationId: 'string', endTime: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNewProjectEipMonitorDataResponseBody extends $tea.Model { eipMonitorDatas?: DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatas; requestId?: string; static names(): { [key: string]: string } { return { eipMonitorDatas: 'EipMonitorDatas', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { eipMonitorDatas: DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatas, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNewProjectEipMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeNewProjectEipMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeNewProjectEipMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsRequest extends $tea.Model { clientToken?: string; filter?: DescribePhysicalConnectionsRequestFilter[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', filter: 'Filter', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { clientToken: 'string', filter: { 'type': 'array', 'itemType': DescribePhysicalConnectionsRequestFilter }, ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; physicalConnectionSet?: DescribePhysicalConnectionsResponseBodyPhysicalConnectionSet; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', physicalConnectionSet: 'PhysicalConnectionSet', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', physicalConnectionSet: DescribePhysicalConnectionsResponseBodyPhysicalConnectionSet, requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribePhysicalConnectionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribePhysicalConnectionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAssociationsRequest extends $tea.Model { /** * @remarks * The query token that is returned in this call. If the return value is empty, no more data is returned. * * @example * 10 */ maxResults?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the previous call to the DescribePrefixListAssociations operation. Leave this parameter empty the first time you call this operation. * * This parameter is required. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string; /** * @remarks * The ID of the prefix list. * * This parameter is required. * * @example * cn-chengdu */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListId: 'PrefixListId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', prefixListId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAssociationsResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The ID of the resource. */ prefixListAssociations?: DescribePrefixListAssociationsResponseBodyPrefixListAssociations; /** * @remarks * Details about the resources that are associated with the prefix list. * * @example * 38793DB8-A4B2-4AEC-BFD3-111234E9188D */ requestId?: string; static names(): { [key: string]: string } { return { nextToken: 'NextToken', prefixListAssociations: 'PrefixListAssociations', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { nextToken: 'string', prefixListAssociations: DescribePrefixListAssociationsResponseBodyPrefixListAssociations, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAssociationsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribePrefixListAssociationsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribePrefixListAssociationsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAttributesRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The time when the prefix list was created. * * This parameter is required. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string; /** * @remarks * The ID of the prefix list. * * This parameter is required. * * @example * cn-chengdu */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListId: 'PrefixListId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', prefixListId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAttributesResponseBody extends $tea.Model { /** * @remarks * The name of the prefix list. * * @example * IPv4 */ addressFamily?: string; /** * @remarks * The maximum number of entries that the prefix list can contain. * * @example * 2021-02-20T07:11Z */ creationTime?: string; /** * @remarks * The IP address family of the prefix list. Valid values: * * * IPv4 * * IPv6 * * @example * This is description. */ description?: string; /** * @remarks * The description of the entry in the prefix list. */ entries?: DescribePrefixListAttributesResponseBodyEntries; /** * @remarks * The ID of the request. * * @example * 10 */ maxEntries?: number; /** * @remarks * Details about the entries in the prefix list. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string; /** * @remarks * The ID of the prefix list. * * @example * PrefixListNameSample */ prefixListName?: string; /** * @remarks * The description of the prefix list. * * @example * 38793DB8-A4B2-4AEC-BFD3-111234E9188D */ requestId?: string; static names(): { [key: string]: string } { return { addressFamily: 'AddressFamily', creationTime: 'CreationTime', description: 'Description', entries: 'Entries', maxEntries: 'MaxEntries', prefixListId: 'PrefixListId', prefixListName: 'PrefixListName', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { addressFamily: 'string', creationTime: 'string', description: 'string', entries: DescribePrefixListAttributesResponseBodyEntries, maxEntries: 'number', prefixListId: 'string', prefixListName: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribePrefixListAttributesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribePrefixListAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListsRequest extends $tea.Model { /** * @remarks * The IP address family of the prefix list. Valid values: * * * IPv4 * * IPv6 * * This parameter is empty by default, which indicates that all prefix lists are queried. * * @example * IPv4 */ addressFamily?: string; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The query token. Set the value to the `NextToken` value returned in the previous call to the DescribePrefixLists operation. Leave this parameter empty the first time you call this operation. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The IDs of prefix list. * * @example * pl-x1j1k5ykzqlixdcy**** */ prefixListId?: string[]; /** * @remarks * The name of the prefix list. * * @example * PrefixListNameSample */ prefixListName?: string; /** * @remarks * The region ID. 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-chengdu */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { addressFamily: 'AddressFamily', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListId: 'PrefixListId', prefixListName: 'PrefixListName', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { addressFamily: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', prefixListId: { 'type': 'array', 'itemType': 'string' }, prefixListName: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListsResponseBody extends $tea.Model { /** * @remarks * The query token returned in this call. If the return value is empty, no more data is returned. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * Details about the prefix lists. */ prefixLists?: DescribePrefixListsResponseBodyPrefixLists; /** * @remarks * The ID of the request. * * @example * 38793DB8-A4B2-4AEC-BFD3-111234E9188D */ requestId?: string; static names(): { [key: string]: string } { return { nextToken: 'NextToken', prefixLists: 'PrefixLists', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { nextToken: 'string', prefixLists: DescribePrefixListsResponseBodyPrefixLists, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribePrefixListsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribePrefixListsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceRequest extends $tea.Model { dataDisk?: DescribePriceRequestDataDisk[]; schedulerOptions?: DescribePriceRequestSchedulerOptions; systemDisk?: DescribePriceRequestSystemDisk; /** * @remarks * The number of ECS instances. You can specify this parameter when you want to query the prices of multiple instances that have specific specifications. Valid values: 1 to 1000. * * Default value: 1. * * @example * 1 */ amount?: number; /** * @remarks * The total number of times that the elasticity assurance can be applied. Set the value to Unlimited. This value indicates that the elasticity assurance can be applied an unlimited number of times within its effective period. * * Default value: Unlimited. * * @example * Unlimited */ assuranceTimes?: string; /** * @remarks * The storage capacity. Unit: GiB. * * @example * 1024 */ capacity?: number; /** * @remarks * The type of the dedicated host. You can call the [DescribeDedicatedHostTypes](https://help.aliyun.com/document_detail/134240.html) operation to query the most recent list of dedicated host types. * * @example * ddh.c5 */ dedicatedHostType?: string; /** * @remarks * This parameter takes effect only when ResourceType is set to instance. * * The image ID. Images contain the runtime environments to load when instances start. You can call the [DescribeImages](https://help.aliyun.com/document_detail/25534.html) operation to query available images. If you do not specify this parameter, the system queries the prices of Linux images. * * @example * centos_7_05_64_20G_alibase_20181212.vhd */ imageId?: string; /** * @remarks * The total number of reserved instances for an instance type. * * Valid values: 1 to 1000. * * @example * 100 */ instanceAmount?: number; /** * @remarks * The total number of vCPUs supported by the elasticity assurance. When you call this API operation, the system calculates the number of instances that an elasticity assurance must support based on the specified value of InstanceType. The calculated value is rounded up to the nearest integer. * * > When you call this API operation to query the price of an elasticity assurance, you can only specify either InstanceCoreCpuCount or InstanceAmount. * * @example * 1024 */ instanceCpuCoreCount?: number; /** * @remarks * The network type of the instance. Valid values: * * * classic: classic network * * vpc: Virtual Private Cloud (VPC) * * Default value: vpc. * * @example * vpc */ instanceNetworkType?: string; /** * @remarks * The instance type. When `ResourceType` is set to `instance`, you must specify this parameter. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent list of instance types. * * @example * ecs.g6.large */ instanceType?: string; /** * @remarks * The instance types. You can select only a single instance type when you configure an elasticity assurance in unlimited mode. * * @example * ecs.g6.xlarge */ instanceTypeList?: string[]; /** * @remarks * The billing method for network usage. Valid values: * * * PayByBandwidth: pay-by-bandwidth * * PayByTraffic: pay-by-traffic * * Default value: PayByTraffic * * @example * PayByTraffic */ internetChargeType?: string; /** * @remarks * The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. * * Default value: 0. * * @example * 5 */ 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. * * When the instance type specified by the InstanceType parameter belongs to [Generation I instance families](https://help.aliyun.com/document_detail/55263.html), the default value of this parameter is none. * * When the instance type specified by the InstanceType parameter does not belong to [Generation I instance families](https://help.aliyun.com/document_detail/55263.html), the default value of this parameter is optimized. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The Internet service provider (ISP). Valid values: * * * cmcc: China Mobile * * telecom: China Telecom * * unicom: China Unicom * * multiCarrier: multi-line ISP * * @example * cmcc */ isp?: string; /** * @remarks * The payment option of the reserved instance. Valid values: * * * No Upfront * * Partial Upfront * * All Upfront * * @example * All Upfront */ offeringType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The billing cycle of the ECS instance. Valid values: * * * Valid values when PriceUnit is set to Month: 1, 2, 3, 4, 5, 6, 7, 8, and 9. * * Valid values when PriceUnit is set to Year: 1, 2, 3, 4, and 5. * * Set the value to 1 when PriceUnit is set to Hour. * * Default value: 1. * * @example * 1 */ period?: number; /** * @remarks * The operating system of the image that is used by the instance. Valid values: * * * Windows: Windows Server operating system * * Linux: Linux and UNIX-like operating system * * @example * Linux */ platform?: string; /** * @remarks * The pricing unit of the ECS resource. Valid values: * * * Month * * Year * * Hour (default) * * @example * Year */ priceUnit?: string; /** * @remarks * The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The resource type. Valid values: * * * instance: queries the most recent prices of ECS instances. When this parameter is set to `instance`, you must specify `InstanceType`. * * disk: queries the most recent prices of cloud disks. When this parameter is set to `disk`, you must specify `DataDisk.1.Category` and `DataDisk.1.Size`. * * bandwidth: queries the most recent prices of network usage. * * ddh: queries the most recent prices of dedicated hosts. * * ElasticityAssurance: queries the most recent prices of elasticity assurances. When this parameter is set to `ElasticityAssurance`, you must specify `InstanceType`. * * CapacityReservation: queries the most recent prices of capacity reservations. When this parameter is set to `CapacityReservation`, you must specify `InstanceType`. * * Default value: instance. * * @example * instance */ resourceType?: string; /** * @remarks * The scope of the reserved instance. Valid values: * * * Region: regional * * Zone: zonal * * Default value: Region. * * @example * Zone */ scope?: string; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements. * * > This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The bidding policy for the pay-as-you-go instance. Valid values: * * * NoSpot: The instance is a regular pay-as-you-go instance. * * SpotWithPriceLimit: The instance is created as a preemptible instance that has a user-defined maximum hourly price. * * SpotAsPriceGo: The instance is created as a preemptible instance whose bid price is based on the market price at the time of purchase. The market price can be up to the pay-as-you-go price. * * Default value: NoSpot. * * > This parameter takes effect only when `PriceUnit` is set to Hour and `Period` is set to 1. The default value of `PriceUnit` is `Hour` and the default value of `Period` is `1`. Therefore, you do not need to set `PriceUnit` or `Period` when you set SpotStrategy. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The zone ID. * * > Prices of preemptible instances vary based on zones. When you query the price of a preemptible instance, specify ZoneId. * * @example * cn-hagzhou-i */ zoneId?: string; static names(): { [key: string]: string } { return { dataDisk: 'DataDisk', schedulerOptions: 'SchedulerOptions', systemDisk: 'SystemDisk', amount: 'Amount', assuranceTimes: 'AssuranceTimes', capacity: 'Capacity', dedicatedHostType: 'DedicatedHostType', imageId: 'ImageId', instanceAmount: 'InstanceAmount', instanceCpuCoreCount: 'InstanceCpuCoreCount', instanceNetworkType: 'InstanceNetworkType', instanceType: 'InstanceType', instanceTypeList: 'InstanceTypeList', internetChargeType: 'InternetChargeType', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', isp: 'Isp', offeringType: 'OfferingType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', platform: 'Platform', priceUnit: 'PriceUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', scope: 'Scope', spotDuration: 'SpotDuration', spotStrategy: 'SpotStrategy', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { dataDisk: { 'type': 'array', 'itemType': DescribePriceRequestDataDisk }, schedulerOptions: DescribePriceRequestSchedulerOptions, systemDisk: DescribePriceRequestSystemDisk, amount: 'number', assuranceTimes: 'string', capacity: 'number', dedicatedHostType: 'string', imageId: 'string', instanceAmount: 'number', instanceCpuCoreCount: 'number', instanceNetworkType: 'string', instanceType: 'string', instanceTypeList: { 'type': 'array', 'itemType': 'string' }, internetChargeType: 'string', internetMaxBandwidthOut: 'number', ioOptimized: 'string', isp: 'string', offeringType: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', platform: 'string', priceUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', scope: 'string', spotDuration: 'number', spotStrategy: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBody extends $tea.Model { /** * @remarks * The information about the prices and promotion rules. */ priceInfo?: DescribePriceResponseBodyPriceInfo; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { priceInfo: 'PriceInfo', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { priceInfo: DescribePriceResponseBodyPriceInfo, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribePriceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribePriceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeRequest extends $tea.Model { /** * @remarks * The number of vCPUs of the instance. * * > If you specify both `Cores` and `Memory`, the system returns all instance types that match the values of the parameters. * * @example * 2 */ cores?: number; /** * @remarks * The billing method of the ECS instance. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). Valid values: * * * PrePaid: subscription * * PostPaid: pay-as-you-go * * Default value: PostPaid. * * @example * PostPaid */ instanceChargeType?: string; /** * @remarks * The level of the instance family. Valid values: * * * EntryLevel * * EnterpriseLevel * * CreditEntryLevel For more information, see [Burstable instance families](https://help.aliyun.com/document_detail/59977.html). * * @example * EnterpriseLevel */ instanceFamilyLevel?: string; /** * @remarks * The instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html) or call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent instance type list. * * > If you specify `InstanceType`, the `Cores` and `Memory` parameters are ignored. * * @example * ecs.hfg6.large */ instanceType?: string; /** * @remarks * Specifies the instance families from which the alternative instance types are selected. You can specify up to 10 instance families. * * @example * ecs.hfg6 */ instanceTypeFamily?: string[]; /** * @remarks * Specifies whether the instance is I/O optimized. The IoOptimized parameter cannot be specified when the instance is not I/O optimized. Valid values: * * * optimized: The instance is I/O optimized. * * none: The instance is not I/O optimized. * * Default value: optimized. * * If you query alternative instance types for retired instance types, this parameter is set to none by default. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The maximum hourly price for pay-as-you-go instances or preemptible instances. * * > This parameter takes effect only when `SpotStrategy` is set to `SpotWithPriceLimit`. * * @example * 10.0 */ maxPrice?: number; /** * @remarks * The memory size of the instance. Unit: GiB. * * > If you specify both `Cores` and `Memory`, the system returns all instance types that match the values of the parameters. * * @example * 8.0 */ memory?: number; /** * @remarks * The network type of the instance. Valid values: * * * classic * * vpc * * Default value: vpc. * * This parameter is required. * * @example * vpc */ networkType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The policy that is used to recommend instance types. Valid values: * * * InventoryFirst: recommends instance types in descending order of resource availability. * * PriceFirst: recommends the most cost-effective instance types. Recommended instance types appear based on the hourly prices of vCPUs in ascending order. * * NewProductFirst: recommends the latest instance types. * * Default value: InventoryFirst. * * @example * PriceFirst */ priorityStrategy?: string; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies the scenarios in which instance types are recommended. Valid values: * * * UPGRADE: instance type upgrade or downgrade * * CREATE: instance creation * * Default value: CREATE. * * @example * CREATE */ scene?: string; /** * @remarks * The bidding policy of the preemptible instance. Valid values: * * * NoSpot: The instance is a regular pay-as-you-go instance. * * SpotWithPriceLimit: The instance is a preemptible instance for which you can specify the maximum hourly price. * * SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * > If you specify `SpotStrategy`, you must set `InstanceChargeType` to `PostPaid`. * * Default value: NoSpot. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * The category of the system disk. Valid values: * * * cloud_efficiency: ultra disk * * cloud_ssd: SSD * * cloud_essd: ESSD * * cloud: basic disk * * For non-I/O optimized instances, the default value is cloud. * * For I/O optimized instances, the default value is cloud_efficiency. * * @example * cloud_ssd */ systemDiskCategory?: string; /** * @remarks * The zone ID. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * We recommend that you set the value of ZoneMatchMode to Include, which is the default value. This way, the system recommends instance types that are available in the zone specified by the ZoneId parameter based on priority. The system also recommends instance types that are available in other zones within the same region. * * @example * cn-hangzhou-f */ zoneId?: string; /** * @remarks * Specifies whether to recommend only instance types in the zone specified by ZoneId. Valid values: * * * Strict: recommends only instance types that are available in zones specified by the ZoneId parameter. * * Include: recommends instance types that are available in zones specified by the ZoneId parameter and other zones within the same region. * * If `ZoneId` is specified, the default value of this parameter is Strict. This value indicates that only alternative instance types in the zone specified by ZoneId are recommended. * * @example * Strict */ zoneMatchMode?: string; static names(): { [key: string]: string } { return { cores: 'Cores', instanceChargeType: 'InstanceChargeType', instanceFamilyLevel: 'InstanceFamilyLevel', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', ioOptimized: 'IoOptimized', maxPrice: 'MaxPrice', memory: 'Memory', networkType: 'NetworkType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', priorityStrategy: 'PriorityStrategy', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', scene: 'Scene', spotStrategy: 'SpotStrategy', systemDiskCategory: 'SystemDiskCategory', zoneId: 'ZoneId', zoneMatchMode: 'ZoneMatchMode', }; } static types(): { [key: string]: any } { return { cores: 'number', instanceChargeType: 'string', instanceFamilyLevel: 'string', instanceType: 'string', instanceTypeFamily: { 'type': 'array', 'itemType': 'string' }, ioOptimized: 'string', maxPrice: 'number', memory: 'number', networkType: 'string', ownerAccount: 'string', ownerId: 'number', priorityStrategy: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', scene: 'string', spotStrategy: 'string', systemDiskCategory: 'string', zoneId: 'string', zoneMatchMode: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBody extends $tea.Model { /** * @remarks * The details of the recommended instance types. */ data?: DescribeRecommendInstanceTypeResponseBodyData; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { data: 'Data', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { data: DescribeRecommendInstanceTypeResponseBodyData, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeRecommendInstanceTypeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeRecommendInstanceTypeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRegionsRequest extends $tea.Model { /** * @remarks * The natural language that is used to filter responses. For more information, see [RFC 7231](https://tools.ietf.org/html/rfc7231). Valid values: * * * zh-CN: Chinese * * en-US: English * * ja: Japanese * * Default value: zh-CN. * * @example * zh-CN */ acceptLanguage?: string; /** * @remarks * The billing method of the instance. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). Valid values: * * * PrePaid: subscription. If you set this parameter to PrePaid, make sure that you have sufficient balance or credits in your account. Otherwise, the InvalidPayMethod error code is returned. * * PostPaid: pay-as-you-go. * * SpotWithPriceLimit: preemptible instance for which a maximum hourly price is specified. * * SpotAsPriceGo: preemptible instance for which the market price at the time of purchase is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * Default value: PostPaid. * * @example * PrePaid */ instanceChargeType?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of resource. Valid values: * * * instance: Elastic Compute Service (ECS) instance * * disk: disk * * reservedinstance: reserved instance * * scu: storage capacity unit (SCU) * * Default value: instance. * * @example * instance */ resourceType?: string; static names(): { [key: string]: string } { return { acceptLanguage: 'AcceptLanguage', instanceChargeType: 'InstanceChargeType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { acceptLanguage: 'string', instanceChargeType: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRegionsResponseBody extends $tea.Model { /** * @remarks * The information of the regions. */ regions?: DescribeRegionsResponseBodyRegions; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { regions: 'Regions', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { regions: DescribeRegionsResponseBodyRegions, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRegionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeRegionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeRegionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceRequest extends $tea.Model { /** * @remarks * The synchronized expiration date. If you specify this parameter, the price for renewing a specified instance to the specified synchronized expiration date is queried. Valid values: 1 to 28. * * For information about how to synchronize the expiration dates of instances, see [Synchronize the expiration dates of instances](https://help.aliyun.com/document_detail/108486.html). * * > The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the `ExpectedRenewDay` parameter are mutually exclusive. * * @example * 5 */ expectedRenewDay?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The renewal period. Valid values: * * * Valid values when the `PriceUnit` parameter is set to `Month`: 1, 2, 3, 4, 5, 6, 7, 8, and 9. * * Valid values when the `PriceUnit` parameter is set to `Year`: 1, 2, 3. * * Default value: 1. * * > The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the `ExpectedRenewDay` parameter are mutually exclusive. * * @example * 1 */ period?: number; /** * @remarks * The unit of the renewal period. Valid values: * * * Month * * Year * * Default value: Month. * * @example * Month */ priceUnit?: string; /** * @remarks * The region ID of the instance. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent list of regions. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the resource. If the `ResourceType` parameter is set to` instance `, the value of the `ResourceId` parameter is the ID of the specified instance.`` * * This parameter is required. * * @example * i-bp1f2o4ldh8l29zv**** */ resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource. Set the value to instance. * * Default value: instance. * * @example * instance */ resourceType?: string; static names(): { [key: string]: string } { return { expectedRenewDay: 'ExpectedRenewDay', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', priceUnit: 'PriceUnit', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { expectedRenewDay: 'number', ownerAccount: 'string', ownerId: 'number', period: 'number', priceUnit: 'string', regionId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBody extends $tea.Model { /** * @remarks * Details about the prices and promotion rules. */ priceInfo?: DescribeRenewalPriceResponseBodyPriceInfo; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { priceInfo: 'PriceInfo', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { priceInfo: DescribeRenewalPriceResponseBodyPriceInfo, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeRenewalPriceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeRenewalPriceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstanceAutoRenewAttributeRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the reserved instances. 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 IDs of the reserved instances. */ reservedInstanceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstanceAutoRenewAttributeResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 04F0F334-1335-436C-A1D7-6C044FE7**** */ requestId?: string; /** * @remarks * Details about the auto-renewal settings of the reserved instances. */ reservedInstanceRenewAttributes?: DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributes; static names(): { [key: string]: string } { return { requestId: 'RequestId', reservedInstanceRenewAttributes: 'ReservedInstanceRenewAttributes', }; } static types(): { [key: string]: any } { return { requestId: 'string', reservedInstanceRenewAttributes: DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributes, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstanceAutoRenewAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeReservedInstanceAutoRenewAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeReservedInstanceAutoRenewAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesRequest extends $tea.Model { /** * @remarks * The allocation type. Valid values: * * * Normal: queries all reserved instances that belong to the current account. * * Shared: queries reserved instances that are shared between the main account and linked accounts. * * Default value: Normal. * * @example * Normal */ allocationType?: string; /** * @remarks * The instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * The instance family. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * ecs.g5 */ instanceTypeFamily?: string; /** * @remarks * The reason why the instance is locked. Valid values: * * * financial: You have an overdue payment in your account, or the reserved instance has expired. * * security: The reserved instance is locked for security reasons. * * @example * security */ lockReason?: string; /** * @remarks * The payment option of the reserved instances. Valid values: * * * No Upfront * * Partial Upfront * * All Upfront * * @example * All Upfront */ offeringType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Maximum value: 100. * * Default value: 10. * * @example * 50 */ pageSize?: number; /** * @remarks * The region ID of the instances. 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 reserved instance N. Valid values of N: 1 to 100. * * @example * ri-bpzhex2ulpzf53**** */ reservedInstanceId?: string[]; /** * @remarks * The name of the reserved instance. * * @example * testReservedInstanceName */ reservedInstanceName?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The scope of the reserved instances. Valid values: * * * Region * * Zone * * Default value: Region. * * @example * Region */ scope?: string; /** * @remarks * The status of reserved instance N. Valid values of N: 1 to 100. Valid values: * * * Creating * * Active * * Expired * * Updating * * @example * Active */ status?: string[]; /** * @remarks * The tags to add to the instances. */ tag?: DescribeReservedInstancesRequestTag[]; /** * @remarks * The zone ID of the reserved instances. This parameter is required when Scope is set to Zone. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * @example * cn-hangzhou-z */ zoneId?: string; static names(): { [key: string]: string } { return { allocationType: 'AllocationType', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', lockReason: 'LockReason', offeringType: 'OfferingType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', reservedInstanceName: 'ReservedInstanceName', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', scope: 'Scope', status: 'Status', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { allocationType: 'string', instanceType: 'string', instanceTypeFamily: 'string', lockReason: 'string', offeringType: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, reservedInstanceName: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', scope: 'string', status: { 'type': 'array', 'itemType': 'string' }, tag: { 'type': 'array', 'itemType': DescribeReservedInstancesRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBody extends $tea.Model { /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The request ID. * * @example * E572643C-6A29-49D6-9D4E-6CFA4E063A3E */ requestId?: string; /** * @remarks * Details about the reserved instances. */ reservedInstances?: DescribeReservedInstancesResponseBodyReservedInstances; /** * @remarks * The total number of reserved instances. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', reservedInstances: 'ReservedInstances', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', reservedInstances: DescribeReservedInstancesResponseBodyReservedInstances, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeReservedInstancesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeReservedInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsRequest extends $tea.Model { ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 50. * * @example * 50 */ pageSize?: number; /** * @remarks * The region ID of the resource. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource. Valid values: * * * instance: Elastic Compute Service (ECS) instance * * disk: disk * * snapshot: snapshot * * image: image * * securitygroup: security group * * volume: storage volume * * eni: elastic network interface (ENI) * * ddh: dedicated host * * keypair: SSH key pair * * launchtemplate: launch template * * All the preceding values must be lowercase. * * @example * instance */ resourceType?: string; /** * @remarks * The tags. */ tag?: DescribeResourceByTagsRequestTag[]; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': DescribeResourceByTagsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsResponseBody extends $tea.Model { /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 50 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 1C1E5359-71D7-44D8-8FAA-0327B549157X */ requestId?: string; /** * @remarks * Details about the resources to which the tags are bound. */ resources?: DescribeResourceByTagsResponseBodyResources; /** * @remarks * The total number of resources returned. * * @example * 8 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', resources: 'Resources', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', resources: DescribeResourceByTagsResponseBodyResources, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeResourceByTagsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeResourceByTagsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationRequest extends $tea.Model { /** * @remarks * The conditions. */ conditions?: string[]; /** * @remarks * The number of vCPUs of the instance type. For information about the values, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). This parameter takes effect only when DestinationResource is set to InstanceType. * * @example * 2 */ cores?: number; /** * @remarks * The type of the resource. Valid values: * * * InstanceType * * SystemDisk * * This parameter is required. * * @example * InstanceType */ destinationResource?: string; /** * @remarks * The instance type. For more information, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). You can also call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation to query the most recent instance type list. This parameter must be specified when DestinationResource is set to SystemDisk. * * @example * ecs.g5.large */ instanceType?: string; /** * @remarks * The memory size of the instance type. Unit: GiB. For information about the values, see [Overview of instance families](https://help.aliyun.com/document_detail/25378.html). This parameter takes effect only when DestinationResource is set to InstanceType. * * @example * 8.0 */ memory?: number; /** * @remarks * Specifies whether cross-cluster instance type upgrades are supported. Valid values: * * * true * * false * * Default value: false. * * When MigrateAcrossZone is set to true and you upgrade the instance type of an instance based on the returned information, take note of the following items: * * * Instance that resides in the classic network: * * * For [retired instance types](https://help.aliyun.com/document_detail/55263.html), when a non-I/O optimized instance is upgraded to an I/O optimized instance, the private IP address, disk device names, and software authorization codes of the instance change. For a Linux instance, basic disks (cloud) are identified as xvd\\* such as xvda and xvdb, and ultra disks (cloud_efficiency) and standard SSDs (cloud_ssd) are identified as vd\\* such as vda and vdb. * * For [instance families available for purchase](https://help.aliyun.com/document_detail/25378.html), when the instance type of an instance is changed, the private IP address of the instance changes. * * * Instance that resides in a virtual private cloud (VPC): For [retired instance types](https://help.aliyun.com/document_detail/55263.html), when a non-I/O optimized instance is upgraded to an I/O optimized instance, the disk device names and software authorization codes of the instance change. For a Linux instance, basic disks (cloud) are identified as xvd\\* such as xvda and xvdb, and ultra disks (cloud_efficiency) and standard SSDs (cloud_ssd) are identified as vd\\* such as vda and vdb. * * @example * true */ migrateAcrossZone?: boolean; /** * @remarks * The operation of changing resource configurations. * * * Valid values for subscription resources: * * * Upgrade: upgrades resources. * * Downgrade: downgrades resources. * * RenewDowngrade: renews and downgrades resources. * * RenewModify: renews an expired instance and changes its configurations. * * * Set the value to Upgrade for pay-as-you-go resources. * * Default value: Upgrade. * * @example * Upgrade */ operationType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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. For example, when DestinationResource is set to InstanceType, this parameter can be interpreted as InstanceId. * * This parameter is required. * * @example * i-bp67acfmxazb4p**** */ resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The zone ID. * * @example * cn-hangzhou-e */ zoneId?: string; static names(): { [key: string]: string } { return { conditions: 'Conditions', cores: 'Cores', destinationResource: 'DestinationResource', instanceType: 'InstanceType', memory: 'Memory', migrateAcrossZone: 'MigrateAcrossZone', operationType: 'OperationType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { conditions: { 'type': 'array', 'itemType': 'string' }, cores: 'number', destinationResource: 'string', instanceType: 'string', memory: 'number', migrateAcrossZone: 'boolean', operationType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBody extends $tea.Model { /** * @remarks * The information about the queried zones. */ availableZones?: DescribeResourcesModificationResponseBodyAvailableZones; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { availableZones: 'AvailableZones', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { availableZones: DescribeResourcesModificationResponseBodyAvailableZones, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeResourcesModificationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeResourcesModificationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; routeTableId?: string; routeTableName?: string; routerId?: string; routerType?: string; VRouterId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routeTableId: 'RouteTableId', routeTableName: 'RouteTableName', routerId: 'RouterId', routerType: 'RouterType', VRouterId: 'VRouterId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routeTableId: 'string', routeTableName: 'string', routerId: 'string', routerType: 'string', VRouterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; routeTables?: DescribeRouteTablesResponseBodyRouteTables; totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', routeTables: 'RouteTables', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', routeTables: DescribeRouteTablesResponseBodyRouteTables, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeRouteTablesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeRouteTablesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesRequest extends $tea.Model { filter?: DescribeRouterInterfacesRequestFilter[]; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { filter: 'Filter', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeRouterInterfacesRequestFilter }, ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; routerInterfaceSet?: DescribeRouterInterfacesResponseBodyRouterInterfaceSet; totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', routerInterfaceSet: 'RouterInterfaceSet', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', routerInterfaceSet: DescribeRouterInterfacesResponseBodyRouterInterfaceSet, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeRouterInterfacesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeRouterInterfacesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanEstimationRequest extends $tea.Model { offeringType?: string; period?: string; periodUnit?: string; planType?: string; regionId?: string; resourceId?: string; static names(): { [key: string]: string } { return { offeringType: 'OfferingType', period: 'Period', periodUnit: 'PeriodUnit', planType: 'PlanType', regionId: 'RegionId', resourceId: 'ResourceId', }; } static types(): { [key: string]: any } { return { offeringType: 'string', period: 'string', periodUnit: 'string', planType: 'string', regionId: 'string', resourceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanEstimationResponseBody extends $tea.Model { committedAmount?: string; currency?: string; instanceTypeFamily?: string; offeringType?: string; period?: number; periodUnit?: string; planType?: string; requestId?: string; resourceId?: string; static names(): { [key: string]: string } { return { committedAmount: 'CommittedAmount', currency: 'Currency', instanceTypeFamily: 'InstanceTypeFamily', offeringType: 'OfferingType', period: 'Period', periodUnit: 'PeriodUnit', planType: 'PlanType', requestId: 'RequestId', resourceId: 'ResourceId', }; } static types(): { [key: string]: any } { return { committedAmount: 'string', currency: 'string', instanceTypeFamily: 'string', offeringType: 'string', period: 'number', periodUnit: 'string', planType: 'string', requestId: 'string', resourceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanEstimationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSavingsPlanEstimationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSavingsPlanEstimationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceRequest extends $tea.Model { committedAmount?: string; instanceTypeFamily?: string; offeringType?: string; period?: number; periodUnit?: string; planType?: string; regionId?: string; resourceId?: string[]; static names(): { [key: string]: string } { return { committedAmount: 'CommittedAmount', instanceTypeFamily: 'InstanceTypeFamily', offeringType: 'OfferingType', period: 'Period', periodUnit: 'PeriodUnit', planType: 'PlanType', regionId: 'RegionId', resourceId: 'ResourceId', }; } static types(): { [key: string]: any } { return { committedAmount: 'string', instanceTypeFamily: 'string', offeringType: 'string', period: 'number', periodUnit: 'string', planType: 'string', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceResponseBody extends $tea.Model { priceInfo?: DescribeSavingsPlanPriceResponseBodyPriceInfo; requestId?: string; static names(): { [key: string]: string } { return { priceInfo: 'PriceInfo', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { priceInfo: DescribeSavingsPlanPriceResponseBodyPriceInfo, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSavingsPlanPriceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSavingsPlanPriceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupAttributeRequest extends $tea.Model { /** * @remarks * The direction in which the security group rule is applied. Valid values: * * * egress: outbound * * ingress: inbound * * all: outbound and inbound * * Default value: all. * * @example * all */ direction?: string; /** * @remarks * The maximum number of entries per page. * * * Minimum value: 10. * * Maximum value: 1000. * * Default value: 500. * * @example * 500 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The network interface controller (NIC) type of the security group rule. * * * Valid values for rules of security groups in the classic network: * * * internet (default) * * intranet * * ** * * **Note** You can query security group rules of only one NIC type in a single call. To query security group rules of both NIC types, call the operation twice. * * * When the security group is in a virtual private cloud (VPC), set the value to intranet, which is the default value for rules of security groups in VPCs. * * ** * * **Note** If you set this parameter to internet or leave this parameter empty, a value of intranet is automatically used. * * @example * intranet */ nicType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the security 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the security group. * * This parameter is required. * * @example * sg-bp1gxw6bznjjvhu3**** */ securityGroupId?: string; static names(): { [key: string]: string } { return { direction: 'Direction', maxResults: 'MaxResults', nextToken: 'NextToken', nicType: 'NicType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { direction: 'string', maxResults: 'number', nextToken: 'string', nicType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupAttributeResponseBody extends $tea.Model { /** * @remarks * The description of the security group. * * @example * This is description. */ description?: string; /** * @remarks * The access control policy of the security group. Valid values: * * * Accept: All instances in the security group can communicate with each other. * * Drop: All instances in the security group are isolated from each other. * * @example * Accept */ innerAccessPolicy?: string; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. If the return value of this parameter is empty when you specify `MaxResults` and `NextToken` for a paged query, no more results are to be returned. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * Details about the security group rules. */ permissions?: DescribeSecurityGroupAttributeResponseBodyPermissions; /** * @remarks * The ID of the region. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The ID of the destination security group. * * @example * sg-bp1gxw6bznjjvhu3**** */ securityGroupId?: string; /** * @remarks * The name of the destination security group. * * @example * SecurityGroupName Sample */ securityGroupName?: string; /** * @remarks * The ID of the VPC. If a VPC ID is returned, the network type of the security group is VPC. If no VPC ID is returned, the network type of the security group is classic network. * * @example * vpc-bp1opxu1zkhn00gzv**** */ vpcId?: string; static names(): { [key: string]: string } { return { description: 'Description', innerAccessPolicy: 'InnerAccessPolicy', nextToken: 'NextToken', permissions: 'Permissions', regionId: 'RegionId', requestId: 'RequestId', securityGroupId: 'SecurityGroupId', securityGroupName: 'SecurityGroupName', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { description: 'string', innerAccessPolicy: 'string', nextToken: 'string', permissions: DescribeSecurityGroupAttributeResponseBodyPermissions, regionId: 'string', requestId: 'string', securityGroupId: 'string', securityGroupName: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSecurityGroupAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSecurityGroupAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the security group. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The IDs of N security groups that you want to query. Valid values of N: 1 to 10. * * This parameter is required. * * @example * sg-bp14vtedjtobkvi**** */ securityGroupId?: string[]; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * Details about the references to the specified security groups. */ securityGroupReferences?: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferences; static names(): { [key: string]: string } { return { requestId: 'RequestId', securityGroupReferences: 'SecurityGroupReferences', }; } static types(): { [key: string]: any } { return { requestId: 'string', securityGroupReferences: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferences, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSecurityGroupReferencesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSecurityGroupReferencesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsRequest extends $tea.Model { /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks your AccessKey pair, the permissions of the RAM user, and the required parameters. If the request passes the dry run, the DryRunOperation error code is returned. Otherwise, an error message is returned. * * false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * Default value: false. * * @example * false */ dryRun?: boolean; /** * @remarks * > This parameter is deprecated. * * @example * null */ fuzzyQuery?: boolean; /** * @remarks * Specifies whether to query the capacity of the security group. If you set this parameter to True, the `EcsCount` and `AvailableInstanceAmount` values in the response are valid. * * > This parameter is deprecated. * * @example * null */ isQueryEcsCount?: boolean; /** * @remarks * The maximum number of entries per page. If you specify this parameter, both `MaxResults` and `NextToken` are used for a paged query. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The network type of the security group. Valid values: * * * vpc * * classic * * @example * vpc */ networkType?: string; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * e71d8a535bd9cc11 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * > This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * > This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID. 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 the security group belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. You can call the [ListResourceGroups](https://help.aliyun.com/document_detail/158855.html) operation to query the most recent resource group list. * * > Resources in the default resource group are displayed in the response regardless of how this parameter is configured. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The security group ID. * * @example * sg-bp67acfmxazb4p**** */ securityGroupId?: string; /** * @remarks * The security group IDs. Set this parameter to a JSON array that consists of up to 100 security group IDs. Separate the security group IDs with commas (,). * * @example * ["sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****",....] */ securityGroupIds?: string; /** * @remarks * The name of the security group. * * @example * SGTestName */ securityGroupName?: string; /** * @remarks * The type of the security group. Valid values: * * * normal: basic security group * * enterprise: advanced security group * * > If you do not specify this parameter, both basic and advanced security groups are queried. * * @example * normal */ securityGroupType?: string; /** * @remarks * Specifies whether to query managed security groups. Valid values: * * * true * * false * * @example * false * * **if can be null:** * true */ serviceManaged?: boolean; /** * @remarks * The tags to add to the security groups. */ tag?: DescribeSecurityGroupsRequestTag[]; /** * @remarks * The ID of the virtual private cloud (VPC) to which the security group belongs. * * @example * vpc-bp67acfmxazb4p**** */ vpcId?: string; static names(): { [key: string]: string } { return { dryRun: 'DryRun', fuzzyQuery: 'FuzzyQuery', isQueryEcsCount: 'IsQueryEcsCount', maxResults: 'MaxResults', networkType: 'NetworkType', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', securityGroupName: 'SecurityGroupName', securityGroupType: 'SecurityGroupType', serviceManaged: 'ServiceManaged', tag: 'Tag', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { dryRun: 'boolean', fuzzyQuery: 'boolean', isQueryEcsCount: 'boolean', maxResults: 'number', networkType: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupIds: 'string', securityGroupName: 'string', securityGroupType: 'string', serviceManaged: 'boolean', tag: { 'type': 'array', 'itemType': DescribeSecurityGroupsRequestTag }, vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponseBody extends $tea.Model { /** * @remarks * A pagination token. If the return value of this parameter is empty when MaxResults and NextToken are used for a paged query, no next page exists. * * @example * e71d8a535bd9cc11 */ nextToken?: string; /** * @remarks * The page number. * * > This parameter will be deprecated in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * > This parameter will be deprecated in the future. We recommend that you use NextToken and MaxResults for a paged query. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the security group. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The information about the security groups. */ securityGroups?: DescribeSecurityGroupsResponseBodySecurityGroups; /** * @remarks * The total number of security groups returned. If `MaxResults` and `NextToken` are specified in the request, the value of this parameter is not returned. * * @example * 20 */ totalCount?: number; static names(): { [key: string]: string } { return { nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', securityGroups: 'SecurityGroups', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { nextToken: 'string', pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', securityGroups: DescribeSecurityGroupsResponseBodySecurityGroups, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSecurityGroupsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSecurityGroupsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsRequest extends $tea.Model { /** * @remarks * The ID of the instance for which you want to query file sending records. * * @example * i-hz0jdfwd9f**** */ instanceId?: string; /** * @remarks * The overall sending status of the file. The overall sending status of the file varies based on the sending status of the file on all destination instances. Valid values: * * * Pending: The file is being verified or sent. If the sending state of the file on at least one instance is Pending, the overall sending state of the file is Pending. * * Running: The file is being sent to the instances. If the sending state of the file on at least one instance is Running, the overall sending state of the file is Running. * * Success: The file is sent. If the sending state of the file on all instances is Success, the overall sending state of the file is Success. * * Failed: The file fails to be sent. If the sending state of the file on all instances is Failed, the overall sending state of the file is Failed. * * PartialFailed: The file sending task succeeds on some instances and fails on other instances. If the sending state of the file is Success on some instances and is Failed on other instances, the overall sending state of the file is PartialFailed. * * @example * Success */ invocationStatus?: string; /** * @remarks * The ID of the file sending task. * * @example * f-hz0jdfwd9f**** */ invokeId?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The name of the file whose sending records you want to query. * * @example * test.txt */ name?: string; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 50. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the ECS instance. 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. After you set this parameter, file sending results in the specified resource group are queried. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags of the file sending task. */ tag?: DescribeSendFileResultsRequestTag[]; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', invocationStatus: 'InvocationStatus', invokeId: 'InvokeId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { instanceId: 'string', invocationStatus: 'string', invokeId: 'string', maxResults: 'number', name: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': DescribeSendFileResultsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBody extends $tea.Model { /** * @remarks * The file sending records. */ invocations?: DescribeSendFileResultsResponseBodyInvocations; /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of file sending tasks queried. * * @example * 2 */ totalCount?: number; static names(): { [key: string]: string } { return { invocations: 'Invocations', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { invocations: DescribeSendFileResultsResponseBodyInvocations, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSendFileResultsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSendFileResultsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsRequest extends $tea.Model { /** * @remarks * This parameter is not publicly available. * * @example * hide */ additionalAttributes?: string[]; /** * @remarks * The ID of the instance. * * @example * i-j6ca469urv8ei629**** */ instanceId?: string; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The name of the snapshot-consistent group. * * @example * testName */ name?: string; /** * @remarks * The token that determines the start point of the next query. Set the value to the NextToken value that is returned from the last call. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the snapshot-consistent 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 the snapshot-consistent group belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of snapshot-consistent group N. Valid values of N: 1 to 10. * * @example * ssg-j6ciyh3k52qp7ovm**** */ snapshotGroupId?: string[]; /** * @remarks * The state of snapshot-consistent group N. Valid values of the second N: 1, 2, and 3. Valid values: * * * progressing: The snapshot-consistent group is being created. * * accomplished: The snapshot-consistent group is created. * * failed: The snapshot-consistent group fails to be created. * * @example * accomplished */ status?: string[]; /** * @remarks * The tags of the snapshot-consistent group. */ tag?: DescribeSnapshotGroupsRequestTag[]; static names(): { [key: string]: string } { return { additionalAttributes: 'AdditionalAttributes', instanceId: 'InstanceId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotGroupId: 'SnapshotGroupId', status: 'Status', tag: 'Tag', }; } static types(): { [key: string]: any } { return { additionalAttributes: { 'type': 'array', 'itemType': 'string' }, instanceId: 'string', maxResults: 'number', name: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotGroupId: { 'type': 'array', 'itemType': 'string' }, status: { 'type': 'array', 'itemType': 'string' }, tag: { 'type': 'array', 'itemType': DescribeSnapshotGroupsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBody extends $tea.Model { /** * @remarks * The token used to start the next query. * * > If the return value is empty, no more data exists. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The ID of the request. * * @example * 3F9A4CC4-362F-469A-B9EF-B3204EF8AA3A */ requestId?: string; /** * @remarks * The information about the snapshot-consistent groups. */ snapshotGroups?: DescribeSnapshotGroupsResponseBodySnapshotGroups; static names(): { [key: string]: string } { return { nextToken: 'NextToken', requestId: 'RequestId', snapshotGroups: 'SnapshotGroups', }; } static types(): { [key: string]: any } { return { nextToken: 'string', requestId: 'string', snapshotGroups: DescribeSnapshotGroupsResponseBodySnapshotGroups, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotGroupsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotGroupsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotLinksRequest extends $tea.Model { /** * @remarks * The disk IDs. You can specify a JSON array that contains a maximum of 100 disk IDs. Separate the disk IDs with commas (,). * * @example * ["d-bp1d6tsvznfghy7y****", "d-bp1ippxbaql9zet7****", … "d-bp1ib7bcz07lcxa9****"] */ diskIds?: string; /** * @remarks * The instance ID. * * @example * i-bp1h6jmbefj2cyqs**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Page starts from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 50 */ pageSize?: number; /** * @remarks * The region ID of the disk. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The snapshot chain IDs. You can specify a JSON array that contains a maximum of 100 snapshot chain IDs. Separate the snapshot chain IDs with commas (,). * * @example * ["sl-bp1grgphbcc9brb5****", "sl-bp1c4izumvq0i5bs****", … "sl-bp1akk7isz866dds****"] */ snapshotLinkIds?: string; static names(): { [key: string]: string } { return { diskIds: 'DiskIds', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotLinkIds: 'SnapshotLinkIds', }; } static types(): { [key: string]: any } { return { diskIds: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotLinkIds: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotLinksResponseBody extends $tea.Model { /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 50 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The details of the snapshot chains. */ snapshotLinks?: DescribeSnapshotLinksResponseBodySnapshotLinks; /** * @remarks * The total number of entries returned. * * @example * 9 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', snapshotLinks: 'SnapshotLinks', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', snapshotLinks: DescribeSnapshotLinksResponseBodySnapshotLinks, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotLinksResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotLinksResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotLinksResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotMonitorDataRequest extends $tea.Model { /** * @remarks * The category of the snapshot. Valid values: * * * Standard: standard snapshot * * Flash: local snapshot * * Default value: Standard. * * @example * Standard */ category?: string; /** * @remarks * The end of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2019-05-10T03:00:00Z */ endTime?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The interval at which to query the monitoring data of snapshot sizes. Unit: seconds. Valid values: * * * 60 * * 600 * * 3600 * * Default value: 60. * * @example * 60 */ period?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The beginning of the time range to query. 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. If the value of seconds (ss) is not 00, the time is rounded up to the next minute. * * This parameter is required. * * @example * 2019-05-10T00:00:00Z */ startTime?: string; static names(): { [key: string]: string } { return { category: 'Category', endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { category: 'string', endTime: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotMonitorDataResponseBody extends $tea.Model { /** * @remarks * The monitoring data of snapshot sizes. */ monitorData?: DescribeSnapshotMonitorDataResponseBodyMonitorData; /** * @remarks * The request ID. * * @example * 9F8163A8-F5DE-47A2-A572-4E062D223E09 */ requestId?: string; static names(): { [key: string]: string } { return { monitorData: 'MonitorData', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { monitorData: DescribeSnapshotMonitorDataResponseBodyMonitorData, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotMonitorDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotMonitorDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotMonitorDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotPackageRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the snapshot. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotPackageResponseBody extends $tea.Model { /** * @remarks * Details about the OSS storage plans. * * @example * 1 */ pageNumber?: number; /** * @remarks * The page number of the returned page. * * @example * 10 */ pageSize?: number; /** * @remarks * The total number of returned OSS storage plans. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The time when the OSS storage plan expires. The time follows the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. */ snapshotPackages?: DescribeSnapshotPackageResponseBodySnapshotPackages; /** * @remarks * The name of the OSS storage plan. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', snapshotPackages: 'SnapshotPackages', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', snapshotPackages: DescribeSnapshotPackageResponseBodySnapshotPackages, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotPackageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotPackageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotPackageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsRequest extends $tea.Model { filter?: DescribeSnapshotsRequestFilter[]; /** * @remarks * The category of the snapshot. Valid values: * * * Standard: standard snapshot * * Flash: local snapshot * * The local snapshot feature is replaced by the instant access feature. When you specify this parameter, take note of the following items: * * * If you have used local snapshots before December 14, 2020, you can use this parameter. * * If you have not used local snapshots before December 14, 2020, you cannot use this parameter. * * > This parameter will be removed in the future. We recommend that you use other parameters to ensure future compatibility. * * @example * Standard */ category?: string; /** * @remarks * The disk ID. * * @example * d-bp67acfmxazb4p**** */ diskId?: string; /** * @remarks * Specifies whether to perform only a dry run, without performing the actual request. Valid values: * * * true: performs only a dry run. The system checks your AccessKey pair, the permissions of the RAM user, and the required parameters. If the request passes the dry run, the DryRunOperation error code is returned. Otherwise, an error message is returned. * * false (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. * * @example * false */ dryRun?: boolean; /** * @remarks * Specifies whether the snapshot is encrypted. Default value: false. * * @example * false */ encrypted?: boolean; /** * @remarks * The instance ID. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string; /** * @remarks * The ID of the Key Management Service (KMS) key that is used for the data disk. * * @example * 0e478b7a-4262-4802-b8cb-00d3fb40**** */ KMSKeyId?: string; /** * @remarks * The maximum number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The page number. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the disk. 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 resource group ID. If you configure this parameter to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. * * > Resources in the default resource group are displayed in the response regardless of whether you configure this parameter. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The IDs of snapshots. You can specify a JSON array that consists of up to 100 snapshot IDs. Separate the snapshot IDs with commas (,). * * @example * ["s-bp67acfmxazb4p****", "s-bp67acfmxazb5p****", … "s-bp67acfmxazb6p****"] */ snapshotIds?: string; /** * @remarks * The snapshot chain ID. You can specify a JSON array that contains up to 100 snapshot chain IDs. Separate the snapshot chain IDs with commas (,). * * @example * ["sl-bp1grgphbcc9brb5****", "sl-bp1c4izumvq0i5bs****", … "sl-bp1akk7isz866dds****"] */ snapshotLinkId?: string; /** * @remarks * The name of the snapshot. * * @example * testSnapshotName */ snapshotName?: string; /** * @remarks * The type of the snapshot. Valid values: * * * auto: automatic snapshot * * user: manual snapshot * * all (default): all snapshot types * * @example * all */ snapshotType?: string; /** * @remarks * The source disk type of the snapshot. Valid values: * * * system: system disk. * * data: data disk. * * > The value of this parameter is case-insensitive. * * @example * Data */ sourceDiskType?: string; /** * @remarks * The status of the snapshot. Valid values: * * * progressing: The snapshot is being created. * * accomplished: The snapshot is created. * * failed: The snapshot fails to be created. * * all (default): This value indicates all snapshot states. * * @example * all */ status?: string; /** * @remarks * The tags of the snapshot. */ tag?: DescribeSnapshotsRequestTag[]; /** * @remarks * Specifies whether the snapshot has been used to create custom images or disks. Valid values: * * * image: The snapshot has been used to create custom images. * * disk: The snapshot has been used to create disks. * * image_disk: The snapshot has been used to create both custom images and data disks. * * none: The snapshot has not been used to create custom images or disks. * * @example * none */ usage?: string; static names(): { [key: string]: string } { return { filter: 'Filter', category: 'Category', diskId: 'DiskId', dryRun: 'DryRun', encrypted: 'Encrypted', instanceId: 'InstanceId', KMSKeyId: 'KMSKeyId', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotIds: 'SnapshotIds', snapshotLinkId: 'SnapshotLinkId', snapshotName: 'SnapshotName', snapshotType: 'SnapshotType', sourceDiskType: 'SourceDiskType', status: 'Status', tag: 'Tag', usage: 'Usage', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeSnapshotsRequestFilter }, category: 'string', diskId: 'string', dryRun: 'boolean', encrypted: 'boolean', instanceId: 'string', KMSKeyId: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotIds: 'string', snapshotLinkId: 'string', snapshotName: 'string', snapshotType: 'string', sourceDiskType: 'string', status: 'string', tag: { 'type': 'array', 'itemType': DescribeSnapshotsRequestTag }, usage: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponseBody extends $tea.Model { /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * caeba0bbb2be03f84eb48b699f0a4883 */ nextToken?: string; /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details about the snapshots. */ snapshots?: DescribeSnapshotsResponseBodySnapshots; /** * @remarks * The total number of snapshots returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', snapshots: 'Snapshots', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', snapshots: DescribeSnapshotsResponseBodySnapshots, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsUsageRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the snapshot. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsUsageResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The number of snapshots stored in the current region. * * @example * 5 */ snapshotCount?: number; /** * @remarks * The total size of snapshots stored in the current region. Unit: bytes. * * @example * 122 */ snapshotSize?: number; static names(): { [key: string]: string } { return { requestId: 'RequestId', snapshotCount: 'SnapshotCount', snapshotSize: 'SnapshotSize', }; } static types(): { [key: string]: any } { return { requestId: 'string', snapshotCount: 'number', snapshotSize: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsUsageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSnapshotsUsageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSnapshotsUsageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceRequest extends $tea.Model { /** * @remarks * The number of vCPUs of the instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * 2 */ cores?: number; /** * @remarks * The number of GPUs that a GPU-accelerated instance has. For information about the valid values, see [GPU-accelerated compute optimized instance types](https://help.aliyun.com/document_detail/108496.html). * * @example * 2 */ gpuAmount?: number; /** * @remarks * The GPU type. Valid values: * * * NVIDIA P4 * * NVIDIA T4 * * NVIDIA P100 * * NVIDIA V100 * * This parameter is left empty by default, which indicates that all GPU types are queried. For more information, see [GPU-accelerated compute-optimized and vGPU-accelerated instance families](https://help.aliyun.com/document_detail/108496.html). * * @example * NVIDIA T4 */ gpuSpec?: string; /** * @remarks * The level of the instance family. Valid values: * * * EntryLevel. * * EnterpriseLevel. * * CreditEntryLevel. For more information, see [Overview of burstable instances](https://help.aliyun.com/document_detail/59977.html). * * This parameter is left empty by default, which indicates that instance families at all levels are queried. * * @example * EntryLevel */ instanceFamilyLevel?: string; /** * @remarks * The instance family. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * ecs.c5 */ instanceTypeFamily?: string; /** * @remarks * The instance types. You can specify up to 10 instance types. * * @example * ecs.c5.large */ instanceTypes?: string[]; /** * @remarks * The memory size of the instance type. Unit: GiB. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * 8.0 */ memory?: number; /** * @remarks * The minimum number of vCPUs of the instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * 2 */ minCores?: number; /** * @remarks * The minimum memory size of the instance type. For more information, see [Instance families](https://help.aliyun.com/document_detail/25378.html). * * @example * 8.0 */ minMemory?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The zone ID. * * This parameter is left empty by default, which indicates that all zones in the specified region are queried. * * @example * cn-hangzhou-i */ zoneId?: string; static names(): { [key: string]: string } { return { cores: 'Cores', gpuAmount: 'GpuAmount', gpuSpec: 'GpuSpec', instanceFamilyLevel: 'InstanceFamilyLevel', instanceTypeFamily: 'InstanceTypeFamily', instanceTypes: 'InstanceTypes', memory: 'Memory', minCores: 'MinCores', minMemory: 'MinMemory', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { cores: 'number', gpuAmount: 'number', gpuSpec: 'string', instanceFamilyLevel: 'string', instanceTypeFamily: 'string', instanceTypes: { 'type': 'array', 'itemType': 'string' }, memory: 'number', minCores: 'number', minMemory: 'number', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponseBody extends $tea.Model { /** * @remarks * Details about preemptible instances in the zones of the specified region. * * > The return values are sorted based on the historical percentages of average preemptible instance prices relative to pay-as-you-go instance prices for instance types. */ availableSpotZones?: DescribeSpotAdviceResponseBodyAvailableSpotZones; /** * @remarks * The region ID. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { availableSpotZones: 'AvailableSpotZones', regionId: 'RegionId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { availableSpotZones: DescribeSpotAdviceResponseBodyAvailableSpotZones, regionId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSpotAdviceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSpotAdviceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotPriceHistoryRequest extends $tea.Model { /** * @remarks * The end of the time range to query. Specify the time in the [ISO 8601 standard](https://help.aliyun.com/document_detail/25696.html) in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC. * * This parameter is empty by default. If this parameter is empty, the current time is used. * * @example * 2017-08-22T08:45:08Z */ endTime?: string; /** * @remarks * The beginning of the time range to query. 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. The specified time can be up to 30 days earlier than the specified EndTime value. * * This parameter is empty by default. If this parameter is empty, the time that is 3 hours earlier than the specified EndTime value is used. * * This parameter is required. * * @example * ecs.t1.xsmall */ instanceType?: string; /** * @remarks * Specifies whether the instance is I/O optimized. Valid values: * * * optimized: The instance is I/O optimized. * * none: The instance is not I/O optimized. * * For instances of generation I instance families, the default value is none. * * For instances of other instance families, the default value is optimized. * * @example * optimized */ ioOptimized?: string; /** * @remarks * The network type of the preemptible instance. Valid values: * * * classic: classic network * * vpc: Virtual Private Cloud (VPC) * * This parameter is required. * * @example * vpc */ networkType?: string; /** * @remarks * The type of the operating system platform. Valid values: * * - linux * - windows * * @example * linux */ OSType?: string; /** * @remarks * The line from which the query starts. * * Default value: 0 * * @example * 0 */ offset?: number; ownerAccount?: string; ownerId?: number; /** * @remarks * The zone ID of the preemptible instance. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The protection period of the preemptible instance. Unit: hours. Default value: 1. Valid values: * * * 1: After a preemptible 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 preemptible 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. Preemptible instances are billed by second. We recommend that you specify a protection period based on your business requirements. * * > This parameter takes effect only if you set SpotStrategy to SpotWithPriceLimit or SpotAsPriceGo. * * @example * 1 */ spotDuration?: number; /** * @remarks * The beginning of the time range to query. The value of this parameter and the value of EndTime can be up to 30 days apart. Specify the time in the [ISO 8601 standard](https://help.aliyun.com/document_detail/25696.html) in the `yyyy-MM-ddTHH:mm:ssZ` format. The time must be in UTC. * * This parameter is left empty by default. If this parameter is empty, the time that is 3 hours earlier than the value of EndTime is used. * * @example * 2017-08-22T08:45:08Z */ startTime?: string; /** * @remarks * The spot price (market price) of the preemptible instance. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', instanceType: 'InstanceType', ioOptimized: 'IoOptimized', networkType: 'NetworkType', OSType: 'OSType', offset: 'Offset', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', spotDuration: 'SpotDuration', startTime: 'StartTime', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { endTime: 'string', instanceType: 'string', ioOptimized: 'string', networkType: 'string', OSType: 'string', offset: 'number', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', spotDuration: 'number', startTime: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotPriceHistoryResponseBody extends $tea.Model { /** * @remarks * The instance type of the preemptible instance. * * @example * CNY */ currency?: string; /** * @remarks * The network type of the preemptible instance. * * @example * 1000 */ nextOffset?: number; /** * @remarks * The instance type of the preemptible instance. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The zone ID of the preemptible instance. */ spotPrices?: DescribeSpotPriceHistoryResponseBodySpotPrices; static names(): { [key: string]: string } { return { currency: 'Currency', nextOffset: 'NextOffset', requestId: 'RequestId', spotPrices: 'SpotPrices', }; } static types(): { [key: string]: any } { return { currency: 'string', nextOffset: 'number', requestId: 'string', spotPrices: DescribeSpotPriceHistoryResponseBodySpotPrices, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotPriceHistoryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeSpotPriceHistoryResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeSpotPriceHistoryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsRequest extends $tea.Model { /** * @remarks * The allocation type. Valid values: * * * Normal: queries SCUs that belong to the current Alibaba Cloud account. * * Shared: queries SCUs shared between the Alibaba Cloud account and RAM users. * * Default value: Normal. * * @example * Normal */ allocationType?: string; /** * @remarks * The capacity of the SCU. Unit: GiB. Valid values: 20, 40, 100, 200, 500, 1024, 2048, 5120, 10240, 20480, and 51200. * * @example * 20 */ capacity?: number; /** * @remarks * The name of the SCU. The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). * * @example * testScuName */ name?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of the page to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 1 */ pageSize?: number; /** * @remarks * The region ID of the SCU. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The state of SCUs. You can specify 1 to 4 types of state. Valid values: * * * Creating: The SCUs are being created. * * Active: The SCUs are in effect. * * Expired: The SCUs have expired. * * Pending: The SCUs have not taken effect. * * @example * Active */ status?: string[]; /** * @remarks * One or multiple SCU IDs. You can specify 1 to 100 SCU IDs. * * @example * scu-bp67acfmxazb4p**** */ storageCapacityUnitId?: string[]; /** * @remarks * The tags of the SCUs. */ tag?: DescribeStorageCapacityUnitsRequestTag[]; static names(): { [key: string]: string } { return { allocationType: 'AllocationType', capacity: 'Capacity', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', storageCapacityUnitId: 'StorageCapacityUnitId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { allocationType: 'string', capacity: 'number', name: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: { 'type': 'array', 'itemType': 'string' }, storageCapacityUnitId: { 'type': 'array', 'itemType': 'string' }, tag: { 'type': 'array', 'itemType': DescribeStorageCapacityUnitsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponseBody extends $tea.Model { /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details about the SCUs. */ storageCapacityUnits?: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnits; /** * @remarks * The total number of SCUs. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', storageCapacityUnits: 'StorageCapacityUnits', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', storageCapacityUnits: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnits, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeStorageCapacityUnitsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeStorageCapacityUnitsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetDetailsRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The value of **ClientToken** 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @remarks * The IDs of disks or Shared Block Storage devices. The value can be a JSON array that consists of up to 100 disk or Shared Block Storage device IDs. Separate the IDs with commas (,). * * @example * ["d-bp1d6tsvznfghy7y****", "d-bp1ippxbaql9zet7****", … "d-bp1ib7bcz07l****"] */ diskIds?: string; /** * @example * hide */ ownerAccount?: string; /** * @example * 111 */ ownerId?: number; /** * @remarks * The number of the page to return. * * Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the storage set. 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; /** * @example * hide */ resourceOwnerAccount?: string; /** * @example * 111 */ resourceOwnerId?: number; /** * @remarks * The ID of the storage set. * * This parameter is required. * * @example * ss-bp67acfmxazb4p**** */ storageSetId?: string; /** * @remarks * The maximum number of partitions in the storage set. * * @example * 3 */ storageSetPartitionNumber?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', diskIds: 'DiskIds', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', }; } static types(): { [key: string]: any } { return { clientToken: 'string', diskIds: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageSetId: 'string', storageSetPartitionNumber: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetDetailsResponseBody extends $tea.Model { /** * @remarks * Details about the disks or Shared Block Storage devices in the storage set. */ disks?: DescribeStorageSetDetailsResponseBodyDisks; /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 49765E79-0D5D-4451-B3AE-580A20831846 */ requestId?: string; /** * @remarks * The total number of storage sets. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { disks: 'Disks', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { disks: DescribeStorageSetDetailsResponseBodyDisks, pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetDetailsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeStorageSetDetailsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeStorageSetDetailsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetsRequest extends $tea.Model { /** * @remarks * The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests. The value of **ClientToken** 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 * 123e4567-e89b-12d3-a456-426655440000 */ clientToken?: string; /** * @example * hide */ ownerAccount?: string; /** * @example * 111 */ ownerId?: number; /** * @remarks * The number of the page to return. Pages start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. Maximum value: 100. * * Default value: 10. * * @example * 1 */ pageSize?: number; /** * @remarks * The region ID of the storage set. 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; /** * @example * hide */ resourceOwnerAccount?: string; /** * @example * 111 */ resourceOwnerId?: number; /** * @remarks * The IDs of storage sets. The value is a JSON array that consists of up to 100 storage set IDs. Separate the IDs with commas (,). * * @example * ["ss-bp1d6tsvznfghy7y****", "ss-bp1ippxbaql9zet7****", … "ss-bp1ib7bcz07l****"] */ storageSetIds?: string; /** * @remarks * The name of the storage set. * * @example * storageSetTest */ storageSetName?: string; /** * @remarks * The zone ID of the storage set. You can call the [DescribeZones](https://help.aliyun.com/document_detail/25610.html) operation to query the most recent zone list. * * @example * cn-hangzhou-g */ zoneId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageSetIds: 'StorageSetIds', storageSetName: 'StorageSetName', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageSetIds: 'string', storageSetName: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetsResponseBody extends $tea.Model { /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 1 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details about the storage sets. The value of this parameter is an array that consists of StorageSet data. */ storageSets?: DescribeStorageSetsResponseBodyStorageSets; /** * @remarks * The total number of storage sets. * * @example * 20 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', storageSets: 'StorageSets', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', storageSets: DescribeStorageSetsResponseBodyStorageSets, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeStorageSetsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeStorageSetsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsRequest extends $tea.Model { /** * @remarks * > This parameter will be deprecated in the future. We recommend that you use other parameters to ensure future compatibility. * * @example * null */ category?: string; ownerId?: number; /** * @remarks * The page number. * * Page starts from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * Valid values: 1 to 100. * * Default value: 50. * * @example * 50 */ pageSize?: number; /** * @remarks * The ID of the region. 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 to which the tags are added. If the resource is an instance, the value of this parameter is the ID of the instance. * * @example * s-946ntx4wr**** */ resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The type of the resource to which the tags are added. Valid values: * * * instance: Elastic Compute Service (ECS) instance. * * disk: disk. * * snapshot: snapshot. * * image: image. * * securitygroup: security group. * * volume: storage volume. * * eni: elastic network interface (ENI). * * ddh: dedicated host. * * keypair: SSH key pair. * * launchtemplate: launch template. * * reservedinstance: reserved instance. * * snapshotpolicy: automatic snapshot policy. * * All values must be in lowercase letters. * * @example * snapshot */ resourceType?: string; /** * @remarks * The tags of the resource. */ tag?: DescribeTagsRequestTag[]; static names(): { [key: string]: string } { return { category: 'Category', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { category: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': DescribeTagsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsResponseBody extends $tea.Model { /** * @remarks * The page number. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries per page. * * @example * 50 */ pageSize?: number; /** * @remarks * The ID of the request. * * @example * B04B8CF3-4489-432D-83BA-6F128E4F2295 */ requestId?: string; /** * @remarks * The tags that match all filter conditions. */ tags?: DescribeTagsResponseBodyTags; /** * @remarks * The total number of tags. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', tags: 'Tags', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', tags: DescribeTagsResponseBodyTags, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeTagsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeTagsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeRequest extends $tea.Model { /** * @example * 155780923770 */ ownerId?: number; /** * @remarks * The region ID of the task. 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; /** * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @example * 155780923770 */ resourceOwnerId?: number; /** * @remarks * The ID of the task. You can call the [DescribeTasks](https://help.aliyun.com/document_detail/25622.html) operation to query the list of task IDs. * * This parameter is required. * * @example * t-ce946ntx4wr**** */ taskId?: string; static names(): { [key: string]: string } { return { ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponseBody extends $tea.Model { /** * @remarks * The time when the task was created. * * @example * 2015-11-23T02:13Z */ creationTime?: string; /** * @remarks * The number of failed tasks. * * @example * 0 */ failedCount?: number; /** * @remarks * The time when the task was complete. * * @example * 2015-11-23T02:19Z */ finishedTime?: string; /** * @remarks * An array consisting of OperationProgress data of each subtask. */ operationProgressSet?: DescribeTaskAttributeResponseBodyOperationProgressSet; /** * @remarks * The region ID of the task. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The number of completed tasks. * * @example * 1 */ successCount?: number; /** * @remarks * Indicates whether the task can be canceled ([CancelTask](https://www.alibabacloud.com/help/en/elastic-compute-service/latest/canceltask)). Valid values: * * - true: The task can be canceled. * - false: The task cannot be canceled. * * @example * true */ supportCancel?: string; /** * @remarks * The operation name of the task. * * @example * ExportImage */ taskAction?: string; /** * @remarks * The ID of the task. * * @example * t-ce946ntx4wr**** */ taskId?: string; /** * @remarks * The progress of the task. * * @example * 100% */ taskProcess?: string; /** * @remarks * The status of the task. * * @example * Finished */ taskStatus?: string; /** * @remarks * The total number of tasks. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', failedCount: 'FailedCount', finishedTime: 'FinishedTime', operationProgressSet: 'OperationProgressSet', regionId: 'RegionId', requestId: 'RequestId', successCount: 'SuccessCount', supportCancel: 'SupportCancel', taskAction: 'TaskAction', taskId: 'TaskId', taskProcess: 'TaskProcess', taskStatus: 'TaskStatus', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { creationTime: 'string', failedCount: 'number', finishedTime: 'string', operationProgressSet: DescribeTaskAttributeResponseBodyOperationProgressSet, regionId: 'string', requestId: 'string', successCount: 'number', supportCancel: 'string', taskAction: 'string', taskId: 'string', taskProcess: 'string', taskStatus: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeTaskAttributeResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeTaskAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTasksRequest extends $tea.Model { /** * @remarks * The end point of the time period for which to query created tasks. The time follows the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. * * @example * 2020-11-23T15:16:00Z */ endTime?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The number of the page to return. * * Page start from page 1. * * Default value: 1. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries to return on each page. * * Maximum value: 100. * * Default value: 10. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the task. 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 resource N that is associated with the task. Valid values of N: 1 to 100. * * * If TaskAction is set to ImportImage or ExportImage, set the resource ID to an image ID. * * If TaskAction is set to RedeployInstance, set the resource ID to an Elastic Compute Service (ECS) instance ID. * * If TaskAction is set to ModifyDiskSpec, set the resource ID to a disk ID. */ resourceIds?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The start point of the time period for which to query created tasks. The time follows the [ISO 8601](https://help.aliyun.com/document_detail/25696.html) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC. * * @example * 2020-11-23T15:10:00Z */ startTime?: string; /** * @remarks * The name of the operation that generates the task. Valid values: * * * ImportImage * * ExportImage * * RedeployInstance * * ModifyDiskSpec * * @example * ImportImage */ taskAction?: string; /** * @remarks * The ID of the task. You can specify up to 100 task IDs at a time. Separate the task IDs with commas (,). * * @example * t-bp1hvgwromzv32iq****,t-bp179lofu2pv768w**** */ taskIds?: string; /** * @remarks * The state of the task. Valid values: * * * Finished * * Processing * * Failed * * This parameter is empty by default. * * > The system only retrieves tasks in the Finished, Processing, and Failed states and ignores other values. * * @example * Finished */ taskStatus?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceIds: 'ResourceIds', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', taskAction: 'TaskAction', taskIds: 'TaskIds', taskStatus: 'TaskStatus', }; } static types(): { [key: string]: any } { return { endTime: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceIds: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', taskAction: 'string', taskIds: 'string', taskStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTasksResponseBody extends $tea.Model { /** * @remarks * The page number of the returned page. * * @example * 1 */ pageNumber?: number; /** * @remarks * The number of entries returned per page. * * @example * 10 */ pageSize?: number; /** * @remarks * The region ID of the task. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details about the tasks. */ taskSet?: DescribeTasksResponseBodyTaskSet; /** * @remarks * The total number of entries returned. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', requestId: 'RequestId', taskSet: 'TaskSet', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', regionId: 'string', requestId: 'string', taskSet: DescribeTasksResponseBodyTaskSet, totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTasksResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeTasksResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeTasksResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsRequest extends $tea.Model { /** * @remarks * The instance ID. * * @example * i-bp1i7gg30r52z2em**** */ instanceId?: string; /** * @remarks * The maximum number of entries per page. * * Valid values: 1 to 100. * * Default value: 10. * * @example * 10 */ maxResults?: number; /** * @remarks * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken. * * @example * AAAAAdDWBF2**** */ nextToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The session ID. * * @example * s-hz023od0x9**** */ sessionId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', maxResults: 'MaxResults', nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', sessionId: 'SessionId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', maxResults: 'number', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', sessionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponseBody extends $tea.Model { /** * @remarks * A pagination token. It can be used in the next request to retrieve a new page of results. * * @example * AAAAAdDWBF2**** */ nextToken?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The information of the sessions. */ sessions?: DescribeTerminalSessionsResponseBodySessions; static names(): { [key: string]: string } { return { nextToken: 'NextToken', requestId: 'RequestId', sessions: 'Sessions', }; } static types(): { [key: string]: any } { return { nextToken: 'string', requestId: 'string', sessions: DescribeTerminalSessionsResponseBodySessions, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeTerminalSessionsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeTerminalSessionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserBusinessBehaviorRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * This parameter is required. */ statusKey?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', statusKey: 'statusKey', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', statusKey: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserBusinessBehaviorResponseBody extends $tea.Model { requestId?: string; statusValue?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', statusValue: 'StatusValue', }; } static types(): { [key: string]: any } { return { requestId: 'string', statusValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserBusinessBehaviorResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeUserBusinessBehaviorResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeUserBusinessBehaviorResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserDataRequest extends $tea.Model { /** * @remarks * The ID of the instance. * * This parameter is required. * * @example * i-bp14bnftyqhxg9ij**** */ instanceId?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserDataResponseBody extends $tea.Model { /** * @remarks * The instance ID. * * @example * i-bp14bnftyqhxg9ij**** */ instanceId?: string; /** * @remarks * The region ID of the instance. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The user data of the instance. * * @example * ZWNobyBoZWxsbyBlY321ABC */ userData?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', regionId: 'RegionId', requestId: 'RequestId', userData: 'UserData', }; } static types(): { [key: string]: any } { return { instanceId: 'string', regionId: 'string', requestId: 'string', userData: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeUserDataResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeUserDataResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeUserDataResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; VRouterId?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', VRouterId: 'VRouterId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', VRouterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; VRouters?: DescribeVRoutersResponseBodyVRouters; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', VRouters: 'VRouters', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', VRouters: DescribeVRoutersResponseBodyVRouters, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeVRoutersResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeVRoutersResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVSwitchesRequest extends $tea.Model { isDefault?: boolean; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vSwitchId?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { isDefault: 'IsDefault', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vSwitchId: 'VSwitchId', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { isDefault: 'boolean', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVSwitchesResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; vSwitches?: DescribeVSwitchesResponseBodyVSwitches; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', vSwitches: 'VSwitches', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', vSwitches: DescribeVSwitchesResponseBodyVSwitches, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVSwitchesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeVSwitchesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeVSwitchesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersRequest extends $tea.Model { filter?: DescribeVirtualBorderRoutersRequestFilter[]; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { filter: 'Filter', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeVirtualBorderRoutersRequestFilter }, ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; virtualBorderRouterSet?: DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSet; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', virtualBorderRouterSet: 'VirtualBorderRouterSet', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', virtualBorderRouterSet: DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeVirtualBorderRoutersResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeVirtualBorderRoutersResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionRequest extends $tea.Model { filter?: DescribeVirtualBorderRoutersForPhysicalConnectionRequestFilter[]; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ physicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { filter: 'Filter', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', physicalConnectionId: 'PhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { filter: { 'type': 'array', 'itemType': DescribeVirtualBorderRoutersForPhysicalConnectionRequestFilter }, ownerId: 'number', pageNumber: 'number', pageSize: 'number', physicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; virtualBorderRouterForPhysicalConnectionSet?: DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSet; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', virtualBorderRouterForPhysicalConnectionSet: 'VirtualBorderRouterForPhysicalConnectionSet', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', virtualBorderRouterForPhysicalConnectionSet: DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeVirtualBorderRoutersForPhysicalConnectionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeVirtualBorderRoutersForPhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsRequest extends $tea.Model { isDefault?: boolean; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vpcId?: string; static names(): { [key: string]: string } { return { isDefault: 'IsDefault', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', pageNumber: 'PageNumber', pageSize: 'PageSize', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { isDefault: 'boolean', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponseBody extends $tea.Model { pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; vpcs?: DescribeVpcsResponseBodyVpcs; static names(): { [key: string]: string } { return { pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', vpcs: 'Vpcs', }; } static types(): { [key: string]: any } { return { pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', vpcs: DescribeVpcsResponseBodyVpcs, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeVpcsResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeVpcsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesRequest extends $tea.Model { /** * @remarks * The natural language that is used to filter responses. For more information, see [RFC 7231](https://tools.ietf.org/html/rfc7231). Valid values: * * * zh-CN * * en-US * * ja * * Default value: zh-CN. * * @example * zh-CN */ acceptLanguage?: string; /** * @remarks * The billing method of resources. For more information, see [Billing overview](https://help.aliyun.com/document_detail/25398.html). Valid values: * * * PrePaid: subscription * * PostPaid: pay-as-you-go * * Default value: PostPaid. * * @example * PostPaid */ instanceChargeType?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the region. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The bidding policy for pay-as-you-go instances. You can specify this parameter when the `InstanceChargeType` parameter is set to PostPaid. For more information, see [Preemptible instances](https://help.aliyun.com/document_detail/52088.html). Valid values: * * * NoSpot: The instances are regular pay-as-you-go instances. * * SpotWithPriceLimit: The instances are preemptible instances with user-defined maximum hourly prices. * * SpotAsPriceGo: The instances are preemptible instances for which the market price at the time of purchase is automatically used as the bid price. The market price can be up to the pay-as-you-go price. * * Default value: NoSpot. * * @example * NoSpot */ spotStrategy?: string; /** * @remarks * Specifies whether to display detailed information. * * * true: displays detailed information. * * false: does not display detailed information. * * Default value: true. * * @example * false */ verbose?: boolean; static names(): { [key: string]: string } { return { acceptLanguage: 'AcceptLanguage', instanceChargeType: 'InstanceChargeType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', spotStrategy: 'SpotStrategy', verbose: 'Verbose', }; } static types(): { [key: string]: any } { return { acceptLanguage: 'string', instanceChargeType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', spotStrategy: 'string', verbose: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * Details of the zones and their supported resources. */ zones?: DescribeZonesResponseBodyZones; static names(): { [key: string]: string } { return { requestId: 'RequestId', zones: 'Zones', }; } static types(): { [key: string]: any } { return { requestId: 'string', zones: DescribeZonesResponseBodyZones, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DescribeZonesResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DescribeZonesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachClassicLinkVpcRequest extends $tea.Model { /** * @remarks * The ID of the classic network-type instance. * * This parameter is required. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string; /** * @example * 155780923770 */ ownerId?: number; /** * @remarks * The region ID of the classic network-type instance. 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; /** * @example * ECSforCloud */ resourceOwnerAccount?: string; /** * @example * 155780923770 */ resourceOwnerId?: number; /** * @remarks * The ID of the VPC to which the instance is linked. * * This parameter is required. * * @example * vpc-bp67acfmxazb4p**** */ vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachClassicLinkVpcResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachClassicLinkVpcResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DetachClassicLinkVpcResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DetachClassicLinkVpcResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachDiskRequest extends $tea.Model { /** * @remarks * Specifies whether to release the system disk or data disk when the instance from which you want to detach the disk is released. Valid values: * * * true: releases the disk when the instance is released. * * false: does not release the disk when the instance is released. The disk is retained as a pay-as-you-go data disk. * * Default value: true. * * Take note of the following items: * * * You cannot specify this parameter for disks for which the multi-attach feature is enabled. * * If a data disk is to be detached, the default value is `false`. * * If you want to detach an `elastic ephemeral disk`, you must set `DeleteWithInstance` to `true`. * * @example * false */ deleteWithInstance?: boolean; /** * @remarks * The ID of the disk that you want to detach. * * This parameter is required. * * @example * d-bp67acfmxazb4p**** */ diskId?: string; /** * @remarks * The ID of the ECS instance from which you want to detach the disk. * * This parameter is required. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { deleteWithInstance: 'DeleteWithInstance', diskId: 'DiskId', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { deleteWithInstance: 'boolean', diskId: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachDiskResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DetachDiskResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DetachDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleRequest extends $tea.Model { /** * @remarks * The IDs of instances. The value can be a JSON array that consists of up to 100 instance IDs. Separate the IDs with commas (,). * * This parameter is required. * * @example * ["i-bp67acfmxazb4p****", "i-bp67acfmxazb5p****", "i-bp67acfmxazb6p****"…] */ instanceIds?: string; ownerId?: number; /** * @remarks * The name of the instance 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. * * @example * RamRoleTest */ ramRoleName?: string; /** * @remarks * The region ID. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', ownerId: 'OwnerId', ramRoleName: 'RamRoleName', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', ownerId: 'number', ramRoleName: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponseBody extends $tea.Model { /** * @remarks * Details about the results of detaching instance RAM roles from the instances. */ detachInstanceRamRoleResults?: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResults; /** * @remarks * The number of instances from which instance RAM roles failed to be detached. * * @example * 0 */ failCount?: number; /** * @remarks * The name of the instance RAM role. * * @example * RamRoleTest */ ramRoleName?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The total number of instances from which you attempted to detach instance RAM roles. * * @example * 1 */ totalCount?: number; static names(): { [key: string]: string } { return { detachInstanceRamRoleResults: 'DetachInstanceRamRoleResults', failCount: 'FailCount', ramRoleName: 'RamRoleName', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { detachInstanceRamRoleResults: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResults, failCount: 'number', ramRoleName: 'string', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DetachInstanceRamRoleResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DetachInstanceRamRoleResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachKeyPairRequest extends $tea.Model { /** * @remarks * The IDs of instances from which you want to unbind the SSH key pair. The value can be a JSON array that consists of up to 50 instance IDs. Separate multiple instance IDs with commas (,). * * This parameter is required. * * @example * ["i-bp1d6tsvznfghy7y****", "i-bp1ippxbaql9zet7****", … "i-bp1ib7bcz07l****"] */ instanceIds?: string; /** * @remarks * The name of the SSH key pair. * * This parameter is required. * * @example * testKeyPairName */ keyPairName?: string; ownerId?: number; /** * @remarks * The region ID of the SSH key pair. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceIds: 'InstanceIds', keyPairName: 'KeyPairName', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceIds: 'string', keyPairName: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachKeyPairResponseBody extends $tea.Model { /** * @remarks * The number of instances from which the SSH key pair failed to be unbound. * * @example * 0 */ failCount?: string; /** * @remarks * The name of the key pair. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The result set of the unbind operation. */ results?: DetachKeyPairResponseBodyResults; /** * @remarks * The total number of instances from which you want to unbind the SSH key pair. * * @example * 2 */ totalCount?: string; static names(): { [key: string]: string } { return { failCount: 'FailCount', keyPairName: 'KeyPairName', requestId: 'RequestId', results: 'Results', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { failCount: 'string', keyPairName: 'string', requestId: 'string', results: DetachKeyPairResponseBodyResults, totalCount: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachKeyPairResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DetachKeyPairResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DetachKeyPairResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachNetworkInterfaceRequest extends $tea.Model { /** * @remarks * The ID of the trunk ENI. * * > This parameter is unavailable for use. * * This parameter is required. * * @example * i-bp67acfmxazb4p**** */ instanceId?: string; /** * @remarks * The ID of the instance * * This parameter is required. * * @example * eni-bp67acfmxazb4p**** */ networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The ID of the ENI. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The ID of the request. * * @example * eni-f8zapqwj1v1j4ia3**** */ trunkNetworkInstanceId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', trunkNetworkInstanceId: 'TrunkNetworkInstanceId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', trunkNetworkInstanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachNetworkInterfaceResponseBody extends $tea.Model { /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachNetworkInterfaceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DetachNetworkInterfaceResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DetachNetworkInterfaceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableActivationRequest extends $tea.Model { /** * @remarks * The request ID. * * This parameter is required. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F1234**** */ activationId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The activation code ID. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { activationId: 'ActivationId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { activationId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableActivationResponseBody extends $tea.Model { /** * @remarks * The time when the activation code was created. */ activation?: DisableActivationResponseBodyActivation; /** * @remarks * Details about the activation code and its usage information. * * @example * 4ECEEE12-56F1-4FBC-9AB1-890F74942176 */ requestId?: string; static names(): { [key: string]: string } { return { activation: 'Activation', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { activation: DisableActivationResponseBodyActivation, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableActivationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DisableActivationResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DisableActivationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableDiskEncryptionByDefaultRequest extends $tea.Model { /** * @remarks * The ID of the region for which you want to disable Account-level EBS Default Encryption. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/2679950.html) operation to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { regionId: 'RegionId', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { regionId: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableDiskEncryptionByDefaultResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableDiskEncryptionByDefaultResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: DisableDiskEncryptionByDefaultResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: DisableDiskEncryptionByDefaultResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnableDiskEncryptionByDefaultRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/2679950.html) operation to query the most recent region list. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnableDiskEncryptionByDefaultResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnableDiskEncryptionByDefaultResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: EnableDiskEncryptionByDefaultResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: EnableDiskEncryptionByDefaultResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnablePhysicalConnectionRequest extends $tea.Model { /** * @remarks * This parameter is required. */ clientToken?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * This parameter is required. */ physicalConnectionId?: string; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', physicalConnectionId: 'PhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', physicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnablePhysicalConnectionResponseBody extends $tea.Model { requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnablePhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: EnablePhysicalConnectionResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: EnablePhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportImageRequest extends $tea.Model { /** * @remarks * The format in which you want to export the custom image. Valid values: * * * raw * * vhd * * qcow2 * * vmdk * * vdi * * Default value: raw. * * @example * raw */ imageFormat?: string; /** * @remarks * The custom image ID. * * This parameter is required. * * @example * m-bp67acfmxazb4p**** */ imageId?: string; /** * @remarks * The OSS bucket in which you want to store the exported custom image. * * This parameter is required. * * @example * testexportImage */ OSSBucket?: string; /** * @remarks * The prefix for the name of the OSS object. The prefix must be 1 to 30 characters in length and can contain digits and letters. * * @example * EcsExport */ OSSPrefix?: string; ownerId?: number; /** * @remarks * The region ID of the custom image. 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; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The name of the RAM role that you want to use to export the custom image. * * @example * AliyunECSImageExportDefaultRole */ roleName?: string; static names(): { [key: string]: string } { return { imageFormat: 'ImageFormat', imageId: 'ImageId', OSSBucket: 'OSSBucket', OSSPrefix: 'OSSPrefix', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', roleName: 'RoleName', }; } static types(): { [key: string]: any } { return { imageFormat: 'string', imageId: 'string', OSSBucket: 'string', OSSPrefix: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', roleName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportImageResponseBody extends $tea.Model { /** * @remarks * The region ID. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * C8B26B44-0189-443E-9816-D951F596**** */ requestId?: string; /** * @remarks * The ID of the task that is used to export the custom image. * * @example * tsk-bp67acfmxazb4p**** */ taskId?: string; static names(): { [key: string]: string } { return { regionId: 'RegionId', requestId: 'RequestId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { regionId: 'string', requestId: 'string', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ExportImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ExportImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportSnapshotRequest extends $tea.Model { /** * @remarks * This parameter is required. */ ossBucket?: string; ownerId?: number; /** * @remarks * This parameter is required. */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; roleName?: string; /** * @remarks * This parameter is required. */ snapshotId?: string; static names(): { [key: string]: string } { return { ossBucket: 'OssBucket', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', roleName: 'RoleName', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { ossBucket: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', roleName: 'string', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportSnapshotResponseBody extends $tea.Model { requestId?: string; taskId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { requestId: 'string', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ExportSnapshotResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ExportSnapshotResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ExportSnapshotResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceConsoleOutputRequest extends $tea.Model { /** * @remarks * The instance ID. * * This parameter is required. * * @example * i-bp1c1xhsrac2coiw**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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 * Specifies whether to remove formatting symbols from the returned command output. Valid values: * * * true * * false * * Default value: false. * * @example * false */ removeSymbols?: boolean; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', removeSymbols: 'RemoveSymbols', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', removeSymbols: 'boolean', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceConsoleOutputResponseBody extends $tea.Model { /** * @remarks * The Base64-encoded command output of the instance. * * @example * V2VsY29tZSB0byBDZW50T1MgCgpDaGVja2luZyBmaWxlc3lzdGVtcwpDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLgpbL3NiaW4vZnNjay5leHQ0ICgxKSAtLSAvXSBmc2NrLmV4dDQgLWEgL2Rldi92ZGExIAovZGV2L3ZkYTE6IGNsZWFuLCAzMjAxNi8yNjIxNDQwIGZpbGVzLCA0NDc5NzQvMTA0ODU1MDQgYmxvY2tzCgpFbnRlcmluZyBub24taW50ZXJhY3RpdmUgc3RhcnR1cApDYWxsaW5nIHRoZSBzeXN0ZW0gYWN0aXZpdHkgZGF0YSBjb2xsZWN0b3IgKHNhZGMpLi4uIAoKQnJpbmdpbmcgdXAgaW50ZXJmYWNlIGV0aDA6ICAKRGV0ZXJtaW5pbmcgSVAgaW5mb3JtYXRpb24gZm9yIGV0aDAuLi4gZG9uZS4KCmFsaXl1bi1zZXJ2aWNlIHN0YXJ0L3J1bm5pbmcsIHByb2Nlc3MgMTczMwpmaW5pc2hlZAoKQ2VudE9TIHJlbGVhc2UgNi44IChGaW5hbCkKS2VybmVsIDIuNi4zMi02OTYuMy4yLmVsNi5pNjg2IG9uIGFuIGk2ODYKCmlaMnplZDk2ZTQ2MmF5cjBxeioqKioqIGxvZ2luOg== */ consoleOutput?: string; /** * @remarks * The instance ID. * * @example * i-bp1c1xhsrac2coiw**** */ instanceId?: string; /** * @remarks * The time when the last log entry was generated in the Linux kernel. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time is displayed in UTC+8. * * @example * 2018-03-22 10:04:57 */ lastUpdateTime?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { consoleOutput: 'ConsoleOutput', instanceId: 'InstanceId', lastUpdateTime: 'LastUpdateTime', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { consoleOutput: 'string', instanceId: 'string', lastUpdateTime: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceConsoleOutputResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: GetInstanceConsoleOutputResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: GetInstanceConsoleOutputResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceScreenshotRequest extends $tea.Model { /** * @remarks * The instance ID. * * This parameter is required. * * @example * i-bp1gbz20g229bvu5**** */ instanceId?: string; ownerAccount?: string; ownerId?: number; /** * @remarks * The region ID of the instance. 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-shenzhen */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * Specifies whether to wake up the hibernated instance. * * Default value: false. * * @example * false */ wakeUp?: boolean; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', wakeUp: 'WakeUp', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', wakeUp: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceScreenshotResponseBody extends $tea.Model { /** * @remarks * The instance ID. * * @example * i-bp1gbz20g229bvu5**** */ instanceId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; /** * @remarks * The Base64-encoded instance screenshot in the JPG format. * * @example * iVBORw0KGgoA...AAABJRU5ErkJggg== */ screenshot?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', requestId: 'RequestId', screenshot: 'Screenshot', }; } static types(): { [key: string]: any } { return { instanceId: 'string', requestId: 'string', screenshot: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class GetInstanceScreenshotResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: GetInstanceScreenshotResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: GetInstanceScreenshotResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportImageRequest extends $tea.Model { /** * @remarks * The system architecture. Valid values: * * * i386 * * x86_64 * * arm64 * * Default value: x86_64. * * @example * x86_64 */ architecture?: string; /** * @remarks * The boot mode of the image. Valid values: * * * BIOS * * UEFI * * Default value: BIOS. If you set `Architecture` to arm64, set this parameter to UEFI. * * > Make sure that you are aware of the boot modes supported by the specified image, as thehe modified boot mode needs to be supported by the image. This way, instances that use this image can start. * * @example * BIOS */ bootMode?: string; /** * @remarks * The image description. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`. * * @example * TestDescription */ description?: string; /** * @remarks * The mode in which to check the image. If you do not specify this parameter, the image is not checked. Only the standard check mode is supported. * * > This parameter is supported for most Linux and Windows operating system versions. For more information about image check items and operating system limits for image check, see [Overview](https://help.aliyun.com/document_detail/439819.html) and [Operating system limits for image check](https://help.aliyun.com/document_detail/475800.html). * * @example * Standard */ detectionStrategy?: string; /** * @remarks * The information about the custom image. */ diskDeviceMapping?: ImportImageRequestDiskDeviceMapping[]; dryRun?: boolean; features?: ImportImageRequestFeatures; /** * @remarks * The image name. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `acs:` or `aliyun`. The name cannot contain `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). * * @example * ImageTestName */ imageName?: string; /** * @remarks * The type of the license used to activate the operating system after the image is imported. Valid values: * * * Auto: ECS checks the operating system of the image and allocates a license to the operating system. ECS first checks whether the operating system distribution specified by `Platform` has a license allocated through an official Alibaba Cloud channel. If yes, the allocated license is used. If no, the license that comes with the source operating system is used. * * Aliyun: The license allocated through an official Alibaba Cloud channel is used for the operating system distribution specified by `Platform`. * * BYOL: The license that comes with the source operating system is used. In this case, make sure that your license key is eligible for use in Alibaba Cloud. * * Default value: Auto. * * @example * Auto */ licenseType?: string; /** * @remarks * The operating system platform. Valid values: * * * windows * * linux * * Default value: linux. * * @example * linux */ OSType?: string; ownerId?: number; /** * @remarks * The operating system distribution. Valid values: * * * Aliyun * * Anolis * * CentOS * * Ubuntu * * CoreOS * * SUSE * * Debian * * OpenSUSE * * FreeBSD * * RedHat * * Kylin * * UOS * * Fedora * * Fedora CoreOS * * CentOS Stream * * AlmaLinux * * Rocky Linux * * Gentoo * * Customized Linux * * Others Linux * * Windows Server 2022 * * Windows Server 2019 * * Windows Server 2016 * * Windows Server 2012 * * Windows Server 2008 * * Windows Server 2003 * * Default value: Others Linux. * * @example * Aliyun */ platform?: string; /** * @remarks * The region ID of the source image. 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 image. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The name of the RAM role used to import the image. * * @example * AliyunECSImageImportDefaultRole */ roleName?: string; /** * @remarks * The Alibaba Cloud Resource Name (ARN) of the cloud box, which is used to uniquely identify a storage location in the cloud. * * > Specify this parameter only if you import an image from OSS on CloudBox. Otherwise, you do not need to specify this parameter. For more information, see [What is OSS on CloudBox?](https://help.aliyun.com/document_detail/430190.html) * * The ARN must be in the following format: `arn:acs:cloudbox:{RegionId}:{AliUid}:cloudbox/{CloudBoxId}`. Replace `{RegionId}` with the region ID of the cloud box, `{AliUid}` with the ID of the Alibaba Cloud account to which the cloud box belongs, and `{CloudBoxId}` with the ID of the cloud box. * * @example * arn:acs:cloudbox:cn-hangzhou:123456:cloudbox/cb-xx***123 */ storageLocationArn?: string; /** * @remarks * The image tags. */ tag?: ImportImageRequestTag[]; static names(): { [key: string]: string } { return { architecture: 'Architecture', bootMode: 'BootMode', description: 'Description', detectionStrategy: 'DetectionStrategy', diskDeviceMapping: 'DiskDeviceMapping', dryRun: 'DryRun', features: 'Features', imageName: 'ImageName', licenseType: 'LicenseType', OSType: 'OSType', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', roleName: 'RoleName', storageLocationArn: 'StorageLocationArn', tag: 'Tag', }; } static types(): { [key: string]: any } { return { architecture: 'string', bootMode: 'string', description: 'string', detectionStrategy: 'string', diskDeviceMapping: { 'type': 'array', 'itemType': ImportImageRequestDiskDeviceMapping }, dryRun: 'boolean', features: ImportImageRequestFeatures, imageName: 'string', licenseType: 'string', OSType: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', roleName: 'string', storageLocationArn: 'string', tag: { 'type': 'array', 'itemType': ImportImageRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportImageResponseBody extends $tea.Model { /** * @remarks * The image ID. * * @example * m-bp67acfmxazb4p**** */ imageId?: string; /** * @remarks * The region ID. * * @example * cn-hangzhou */ regionId?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; /** * @remarks * The image import task ID. * * @example * t-bp67acfmxazb4p**** */ taskId?: string; static names(): { [key: string]: string } { return { imageId: 'ImageId', regionId: 'RegionId', requestId: 'RequestId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { imageId: 'string', regionId: 'string', requestId: 'string', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportImageResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ImportImageResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ImportImageResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportKeyPairRequest extends $tea.Model { /** * @remarks * The name of the key pair. The name must be unique. It must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). * * This parameter is required. * * @example * testKeyPairName */ keyPairName?: string; ownerId?: number; /** * @remarks * The public key of the key pair. * * This parameter is required. * * @example * ABC1234567 */ publicKeyBody?: string; /** * @remarks * The region ID. 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 enterprise resource group to which the SSH key pair belongs. * * @example * rg-bp67acfmxazb4p**** */ resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; /** * @remarks * The tags to add to the key pair. */ tag?: ImportKeyPairRequestTag[]; static names(): { [key: string]: string } { return { keyPairName: 'KeyPairName', ownerId: 'OwnerId', publicKeyBody: 'PublicKeyBody', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { keyPairName: 'string', ownerId: 'number', publicKeyBody: 'string', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': ImportKeyPairRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportKeyPairResponseBody extends $tea.Model { /** * @remarks * The fingerprint of the key pair. The MD5 message-digest algorithm is used based on the public key fingerprint format defined in RFC 4716. * * @example * 89:f0:ba:62:ac:b8:aa:e1:61:5e:fd:81:69:86:6d:6b:f0:c0:5a:** */ keyPairFingerPrint?: string; /** * @remarks * The name of the key pair. * * @example * testKeyPairName */ keyPairName?: string; /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { keyPairFingerPrint: 'KeyPairFingerPrint', keyPairName: 'KeyPairName', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { keyPairFingerPrint: 'string', keyPairName: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportKeyPairResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ImportKeyPairResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: ImportKeyPairResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InstallCloudAssistantRequest extends $tea.Model { /** * @remarks * The ID of the instance. * * This parameter is required. * * @example * i-bp1iudwa5b1tqa**** */ instanceId?: string[]; ownerAccount?: string; ownerId?: number; /** * @remarks * The IDs of instances. You can specify up to 50 instance IDs in a single request. * * This parameter is required. * * @example * cn-hangzhou */ regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InstallCloudAssistantResponseBody extends $tea.Model { /** * @remarks * The request ID. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E */ requestId?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InstallCloudAssistantResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: InstallCloudAssistantResponseBody; static names(): { [key: string]: string } { return { headers: 'headers', statusCode: 'statusCode', body: 'body', }; } static types(): { [key: string]: any } { return { headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, statusCode: 'number', body: InstallCloudAssistantResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandRequest extends $tea.Model { /** * @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 * 123e4567-e89b-12d3-a456-42665544**** */ clientToken?: string; /** * @remarks * The command ID. You can call the [DescribeCommands](https://help.aliyun.com/document_detail/64843.html) operation to query all available command IDs. * * > Common Cloud Assistant commands can be run based on their names. For more information, see [View and run common Cloud Assistant commands](https://help.aliyun.com/document_detail/429635.html). * * This parameter is required. * * @example * c-e996287206324975b5fbe1d**** */ commandId?: string; /** * @remarks * The ID of the container. Only 64-bit hexadecimal strings are supported. You can use container IDs that are prefixed with `docker://`, `containerd://`, or `cri-o://` to specify container runtimes. * * Take note of the following items: * * * If this parameter is specified, Cloud Assistant runs the command in the specified container of the instance. * * * If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed. * * * For information about how to query the version of Cloud Assistant Agent, see [Install Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html). * * For information about how to upgrade Cloud Assistant Agent, see [Upgrade or disable upgrades for Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). * * * If this parameter is specified, the `Username` parameter that is specified in a request to call this operation and the `WorkingDir` parameter that is specified in a request to call the [CreateCommand](https://help.aliyun.com/document_detail/64844.html) operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](https://help.aliyun.com/document_detail/456641.html). * * * If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](https://help.aliyun.com/document_detail/456641.html). * * @example * ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** */ containerId?: string; /** * @remarks * The name of the container. * * Take note of the following items: * * * If this parameter is specified, Cloud Assistant runs the command in the specified container of the instance. * * * If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed. * * * For information about how to query the version of Cloud Assistant Agent, see [Install Cloud Assistant Agent](https://help.aliyun.com/document_detail/64921.html). * * For information about how to upgrade Cloud Assistant Agent, see [Upgrade or disable upgrades for Cloud Assistant Agent](https://help.aliyun.com/document_detail/134383.html). * * * If this parameter is specified, the `Username` parameter that is specified in a request to call this operation and the `WorkingDir` parameter that is specified in a request to call the [CreateCommand](https://help.aliyun.com/document_detail/64844.html) operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](https://help.aliyun.com/document_detail/456641.html). * * * If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](https://help.aliyun.com/document_detail/456641.html). * * @example * test-container */ containerName?: string; /** * @remarks * The schedule on which to run the command. You can configure a command to run at a fixed interval based on a rate expression, run only once at a specific time, or run at specific times based on a cron expression. * * * To run a command at a fixed interval, use a rate expression to specify the interval. You can specify the interval in seconds, minutes, hours, or days. This option is suitable for scenarios in which tasks need to be executed at a fixed interval. Specify the interval in the following format: `rate()`. For example, specify `rate(5m)` to run the command every 5 minutes. When you specify an interval, take note of the following limits: * * * The interval can be anywhere from 60 seconds to 7 days, but must be longer than the timeout period of the scheduled task. * * The interval is the amount of time that elapses between two consecutive executions. The interval is irrelevant to the amount of time that is required to run the command once. For example, assume that you set the interval to 5 minutes and that it takes 2 minutes to run the command each time. Each time the command is run, the system waits 3 minutes before the system runs the command again. * * A task is not immediately executed after the task is created. For example, assume that you set the interval to 5 minutes for a task. The task begins to be executed 5 minutes after it is created. * * * To run a command only once at a specific time, specify a point in time and a time zone. Specify the point in time in the `at(yyyy-MM-dd HH:mm:ss