// 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 { choice?: string; eventId?: string; ownerAccount?: string; ownerId?: number; 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 { 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { bandwidthPackageId?: string; clientToken?: string; ipCount?: string; ownerAccount?: string; ownerId?: number; 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; regionId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; 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 { 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; 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?: AllocateDedicatedHostsRequestTag[]; 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 { dedicatedHostIdSets?: AllocateDedicatedHostsResponseBodyDedicatedHostIdSets; 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; 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 { instanceId?: string; ipAddress?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { ipAddress?: string; 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; autoSnapshotPolicyId?: string; diskIds?: string; 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 { 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 { clientToken?: string; ipv6Address?: string[]; ipv6AddressCount?: number; ipv6Prefix?: string[]; ipv6PrefixCount?: number; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; 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 { ipv6PrefixSets?: AssignIpv6AddressesResponseBodyIpv6PrefixSets; ipv6Sets?: AssignIpv6AddressesResponseBodyIpv6Sets; networkInterfaceId?: string; 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 { clientToken?: string; ipv4Prefix?: string[]; ipv4PrefixCount?: number; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; privateIpAddress?: string[]; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { assignedPrivateIpAddressesSet?: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSet; 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 { allocationId?: string; 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; haVipId?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; 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 { instanceId?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { bootable?: boolean; deleteWithInstance?: boolean; device?: string; diskId?: string; instanceId?: string; keyPairName?: string; ownerAccount?: string; ownerId?: number; password?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bootable: 'Bootable', deleteWithInstance: 'DeleteWithInstance', device: 'Device', diskId: 'DiskId', 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', 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 { 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 { instanceIds?: string; ownerId?: number; policy?: string; ramRoleName?: string; 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 { attachInstanceRamRoleResults?: AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResults; failCount?: number; ramRoleName?: string; requestId?: string; 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 { instanceIds?: string; keyPairName?: string; ownerId?: number; 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 { failCount?: string; keyPairName?: string; requestId?: string; results?: AttachKeyPairResponseBodyResults; 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 { instanceId?: string; networkCardIndex?: number; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; trunkNetworkInstanceId?: string; 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 { 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 { clientToken?: string; description?: string; destCidrIp?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; ownerAccount?: string; ownerId?: number; permissions?: 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; 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 { 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 { 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?: AuthorizeSecurityGroupEgressRequestPermissions[]; policy?: string; portRange?: string; priority?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; sourceCidrIp?: string; 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 { 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 { ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; diskIds?: string; 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 { 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 { imageId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { executionId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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; physicalConnectionId?: string; 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 { eventId?: string[]; ownerAccount?: string; ownerId?: number; 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 { 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { instanceId?: string; ownerId?: number; 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 { 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 { 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?: 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 { imageId?: string; 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 { arn?: CopySnapshotRequestArn[]; 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?: CopySnapshotRequestTag[]; static names(): { [key: string]: string } { return { arn: 'Arn', 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 }, 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 { requestId?: string; 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 { description?: string; instanceCount?: number; instanceName?: string; ipAddressRange?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; tag?: CreateActivationRequestTag[]; 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 { activationCode?: string; activationId?: string; 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; autoProvisioningGroupName?: string; autoProvisioningGroupType?: string; clientToken?: string; dataDiskConfig?: CreateAutoProvisioningGroupRequestDataDiskConfig[]; defaultTargetCapacityType?: string; description?: string; excessCapacityTerminationPolicy?: string; hibernationOptionsConfigured?: boolean; launchTemplateConfig?: 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; spotAllocationStrategy?: string; spotInstanceInterruptionBehavior?: string; spotInstancePoolsToUseCount?: number; spotTargetCapacity?: string; systemDiskConfig?: CreateAutoProvisioningGroupRequestSystemDiskConfig[]; tag?: CreateAutoProvisioningGroupRequestTag[]; terminateInstances?: boolean; terminateInstancesWithExpiration?: boolean; totalTargetCapacity?: string; validFrom?: string; 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', 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', 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 CreateAutoProvisioningGroupResponseBody extends $tea.Model { autoProvisioningGroupId?: string; launchResults?: CreateAutoProvisioningGroupResponseBodyLaunchResults; 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 { copiedSnapshotsRetentionDays?: number; copyEncryptionConfiguration?: CreateAutoSnapshotPolicyRequestCopyEncryptionConfiguration; enableCrossRegionCopy?: boolean; ownerId?: number; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageLocationArn?: string; tag?: CreateAutoSnapshotPolicyRequestTag[]; targetCopyRegions?: string; autoSnapshotPolicyName?: string; regionId?: string; repeatWeekdays?: string; retentionDays?: number; 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 { autoSnapshotPolicyId?: string; 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; 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?: CreateCapacityReservationRequestTag[]; 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 { privatePoolOptionsId?: string; 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 { commandContent?: string; contentEncoding?: string; description?: string; enableParameter?: boolean; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; tag?: CreateCommandRequestTag[]; timeout?: number; type?: string; workingDir?: string; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', contentEncoding: 'ContentEncoding', description: 'Description', enableParameter: 'EnableParameter', 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', 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 { commandId?: string; 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 { dedicatedHostClusterName?: string; description?: string; dryRun?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; tag?: CreateDedicatedHostClusterRequestTag[]; 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 { dedicatedHostClusterId?: string; 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 { 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; 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 { demandId?: string; 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 { 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; 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 { deploymentSetId?: string; 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 { description?: string; metricIds?: string[]; metricSetName?: string; regionId?: string; 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 { metricSetId?: string; 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 { endTime?: string; metricSetId?: string; regionId?: string; resourceId?: string; 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 { reportId?: string; 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 { advancedFeatures?: string; arn?: 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?: CreateDiskRequestTag[]; 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 { diskId?: string; orderId?: string; 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; assuranceTimes?: string; clientToken?: string; description?: string; instanceAmount?: number; instanceCpuCoreCount?: number; instanceType?: string[]; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; tag?: CreateElasticityAssuranceRequestTag[]; 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 { orderId?: string; privatePoolOptionsId?: string; 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 { externalIp?: string; externalPort?: string; forwardTableId?: string; internalIp?: string; internalPort?: string; ipProtocol?: string; ownerAccount?: string; ownerId?: number; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { clientToken?: string; description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; 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 { hpcClusterId?: string; 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 { architecture?: string; bootMode?: string; clientToken?: string; description?: string; detectionStrategy?: string; diskDeviceMapping?: 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?: 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 { imageId?: string; 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 { clientToken?: string; componentType?: string; content?: string; description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; systemType?: string; tag?: CreateImageComponentRequestTag[]; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', componentType: 'ComponentType', 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', 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 { imageComponentId?: string; 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 { addAccount?: number[]; baseImage?: string; baseImageType?: string; buildContent?: string; clientToken?: string; deleteInstanceOnFailure?: boolean; description?: string; imageName?: string; instanceType?: string; internetMaxBandwidthOut?: number; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; systemDiskSize?: number; tag?: CreateImagePipelineRequestTag[]; toRegionId?: string[]; vSwitchId?: string; static names(): { [key: string]: string } { return { addAccount: 'AddAccount', baseImage: 'BaseImage', baseImageType: 'BaseImageType', buildContent: 'BuildContent', clientToken: 'ClientToken', deleteInstanceOnFailure: 'DeleteInstanceOnFailure', description: 'Description', imageName: 'ImageName', instanceType: 'InstanceType', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', systemDiskSize: 'SystemDiskSize', tag: 'Tag', 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', imageName: 'string', instanceType: 'string', internetMaxBandwidthOut: 'number', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', systemDiskSize: 'number', tag: { 'type': 'array', 'itemType': CreateImagePipelineRequestTag }, toRegionId: { 'type': 'array', 'itemType': 'string' }, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImagePipelineResponseBody extends $tea.Model { imagePipelineId?: string; 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; affinity?: string; arn?: CreateInstanceRequestArn[]; autoRenew?: boolean; autoRenewPeriod?: number; clientToken?: string; clusterId?: string; creditSpecification?: string; dataDisk?: 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?: CreateInstanceRequestTag[]; tenancy?: string; useAdditionalService?: boolean; userData?: string; vSwitchId?: string; vlanId?: string; 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 { instanceId?: string; orderId?: string; requestId?: string; 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 { keyPairName?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { keyPairFingerPrint?: string; keyPairId?: string; keyPairName?: string; privateKeyBody?: string; 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; autoReleaseTime?: string; creditSpecification?: string; dataDisk?: CreateLaunchTemplateRequestDataDisk[]; deletionProtection?: boolean; deploymentSetId?: string; description?: string; enableVmOsConfig?: boolean; hostName?: 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?: CreateLaunchTemplateRequestNetworkInterface[]; networkType?: string; ownerAccount?: string; ownerId?: number; passwordInherit?: boolean; period?: number; privateIpAddress?: string; ramRoleName?: string; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityEnhancementStrategy?: string; securityGroupId?: string; securityGroupIds?: string[]; spotDuration?: number; spotPriceLimit?: number; spotStrategy?: string; tag?: CreateLaunchTemplateRequestTag[]; templateResourceGroupId?: string; templateTag?: CreateLaunchTemplateRequestTemplateTag[]; userData?: string; vSwitchId?: string; versionDescription?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoReleaseTime: 'AutoReleaseTime', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', deletionProtection: 'DeletionProtection', deploymentSetId: 'DeploymentSetId', description: 'Description', enableVmOsConfig: 'EnableVmOsConfig', hostName: 'HostName', 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', 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', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateLaunchTemplateRequestDataDisk }, deletionProtection: 'boolean', deploymentSetId: 'string', description: 'string', enableVmOsConfig: 'boolean', hostName: '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', 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 { launchTemplateId?: string; launchTemplateVersionNumber?: number; 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; autoReleaseTime?: string; creditSpecification?: string; dataDisk?: CreateLaunchTemplateVersionRequestDataDisk[]; deletionProtection?: boolean; deploymentSetId?: string; description?: string; enableVmOsConfig?: boolean; hostName?: 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?: CreateLaunchTemplateVersionRequestNetworkInterface[]; networkType?: string; ownerAccount?: string; ownerId?: number; passwordInherit?: boolean; period?: number; privateIpAddress?: string; ramRoleName?: string; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityEnhancementStrategy?: string; securityGroupId?: string; securityGroupIds?: string[]; spotDuration?: number; spotPriceLimit?: number; spotStrategy?: string; tag?: CreateLaunchTemplateVersionRequestTag[]; userData?: string; vSwitchId?: string; versionDescription?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoReleaseTime: 'AutoReleaseTime', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', deletionProtection: 'DeletionProtection', deploymentSetId: 'DeploymentSetId', description: 'Description', enableVmOsConfig: 'EnableVmOsConfig', hostName: 'HostName', 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', 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', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateLaunchTemplateVersionRequestDataDisk }, deletionProtection: 'boolean', deploymentSetId: 'string', description: 'string', enableVmOsConfig: 'boolean', hostName: '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', 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 { launchTemplateId?: string; launchTemplateVersionNumber?: number; 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 { bandwidthPackage?: CreateNatGatewayRequestBandwidthPackage[]; clientToken?: string; description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { businessType?: string; clientToken?: string; deleteOnRelease?: boolean; description?: string; instanceType?: string; ipv4Prefix?: string[]; ipv4PrefixCount?: number; ipv6Address?: string[]; ipv6AddressCount?: number; ipv6Prefix?: string[]; ipv6PrefixCount?: number; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; ownerAccount?: string; ownerId?: number; primaryIpAddress?: string; privateIpAddress?: string[]; queueNumber?: number; queuePairNumber?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; rxQueueSize?: number; secondaryPrivateIpAddressCount?: number; securityGroupId?: string; securityGroupIds?: string[]; tag?: CreateNetworkInterfaceRequestTag[]; txQueueSize?: number; vSwitchId?: string; visible?: boolean; static names(): { [key: string]: string } { return { businessType: 'BusinessType', clientToken: 'ClientToken', deleteOnRelease: 'DeleteOnRelease', description: 'Description', instanceType: 'InstanceType', ipv4Prefix: 'Ipv4Prefix', ipv4PrefixCount: 'Ipv4PrefixCount', ipv6Address: 'Ipv6Address', ipv6AddressCount: 'Ipv6AddressCount', ipv6Prefix: 'Ipv6Prefix', ipv6PrefixCount: 'Ipv6PrefixCount', networkInterfaceName: 'NetworkInterfaceName', 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', deleteOnRelease: 'boolean', description: 'string', 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', 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 { 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; 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 { accountId?: number; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; permission?: string; 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 { networkInterfacePermission?: CreateNetworkInterfacePermissionResponseBodyNetworkInterfacePermission; 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 { 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; 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 { addressFamily?: string; clientToken?: string; description?: string; entry?: CreatePrefixListRequestEntry[]; maxEntries?: number; ownerAccount?: string; ownerId?: number; prefixListName?: string; 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 { prefixListId?: string; 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; destinationCidrBlock?: string; nextHopId?: string; nextHopList?: CreateRouteEntryRequestNextHopList[]; nextHopType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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; 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; 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 { clientToken?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupName?: string; securityGroupType?: string; serviceManaged?: boolean; tag?: CreateSecurityGroupRequestTag[]; 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 { requestId?: string; 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 { eventType?: string; instanceId?: string[]; notBefore?: string; ownerAccount?: string; ownerId?: number; 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 { eventIdSet?: CreateSimulatedSystemEventsResponseBodyEventIdSet; 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 { 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?: 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 { requestId?: string; 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 { description?: string; diskId?: string[]; excludeDiskId?: string[]; instanceId?: string; instantAccess?: boolean; instantAccessRetentionDays?: number; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageLocationArn?: string; tag?: CreateSnapshotGroupRequestTag[]; static names(): { [key: string]: string } { return { 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 { 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 { requestId?: string; 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 { clientToken?: string; description?: string; maxPartitionNumber?: number; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageSetName?: string; 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 { requestId?: string; 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 { cidrBlock?: string; clientToken?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vSwitchName?: string; vpcId?: string; 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; physicalConnectionId?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; vbrOwnerId?: number; 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; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { activationId?: string; ownerAccount?: string; ownerId?: number; 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 { activation?: DeleteActivationResponseBodyActivation; 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 { autoProvisioningGroupId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; autoSnapshotPolicyId?: string; 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 { 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 { bandwidthPackageId?: string; ownerAccount?: string; ownerId?: number; 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 { commandId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { dedicatedHostClusterId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { clientToken?: string; demandId?: string; ownerAccount?: string; ownerId?: number; reason?: string; 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 { 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 { deploymentSetId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { metricSetIds?: string[]; 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 { 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 { regionId?: string; 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 { 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 { 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 { 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 { forwardEntryId?: string; forwardTableId?: string; ownerAccount?: string; ownerId?: number; 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; haVipId?: string; ownerAccount?: string; ownerId?: number; 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 { clientToken?: string; hpcClusterId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; 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 { 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 { force?: boolean; imageId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { imageComponentId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { imagePipelineId?: string; ownerAccount?: string; ownerId?: number; 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 { 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 { dryRun?: boolean; force?: boolean; instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { clientToken?: string; dryRun?: boolean; force?: boolean; instanceId?: string[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { keyPairNames?: string; ownerId?: number; 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 { 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 { launchTemplateId?: string; launchTemplateName?: string; ownerAccount?: string; ownerId?: number; 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 { launchTemplateId?: string; launchTemplateVersionNumbers?: DeleteLaunchTemplateResponseBodyLaunchTemplateVersionNumbers; 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 { deleteVersion?: number[]; launchTemplateId?: string; launchTemplateName?: string; ownerAccount?: string; ownerId?: number; 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 { launchTemplateVersions?: DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersions; 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 { natGatewayId?: string; ownerAccount?: string; ownerId?: number; 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 { networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; 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 { 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; networkInterfacePermissionId?: string; ownerAccount?: string; ownerId?: number; 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; physicalConnectionId?: string; 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; prefixListId?: string; 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 { 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 { destinationCidrBlock?: string; nextHopId?: string; nextHopList?: DeleteRouteEntryRequestNextHopList[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { force?: boolean; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { operationProgressSet?: DeleteSnapshotGroupResponseBodyOperationProgressSet; 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 { clientToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; 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; 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 { instanceId?: string; ownerAccount?: string; ownerId?: number; 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 { instance?: DeregisterManagedInstanceResponseBodyInstance; 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; 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 { attributeName?: string[]; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { accountAttributeItems?: DescribeAccountAttributesResponseBodyAccountAttributeItems; 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 { 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?: 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 { activationList?: DescribeActivationsResponseBodyActivationList[]; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { autoProvisioningGroupId?: string; endTime?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { autoProvisioningGroupHistories?: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistories; pageNumber?: number; pageSize?: number; requestId?: string; 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 { autoProvisioningGroupId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; 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 { instances?: DescribeAutoProvisioningGroupInstancesResponseBodyInstances; pageNumber?: number; pageSize?: number; requestId?: string; 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 { autoProvisioningGroupId?: string[]; autoProvisioningGroupName?: string; autoProvisioningGroupStatus?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { autoProvisioningGroups?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroups; pageNumber?: number; pageSize?: number; requestId?: string; 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 { autoSnapshotPolicyId?: string; autoSnapshotPolicyName?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { autoSnapshotPolicies?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPolicies; pageNumber?: number; pageSize?: number; requestId?: string; 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 { 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; 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 { availableZones?: DescribeAvailableResourceResponseBodyAvailableZones; 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 { instanceChargeType?: string; instanceType?: string; operationType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { bandwidths?: DescribeBandwidthLimitationResponseBodyBandwidths; 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; 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; maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; 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 { capacityReservationItem?: DescribeCapacityReservationInstancesResponseBodyCapacityReservationItem; maxResults?: number; nextToken?: string; requestId?: string; 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; 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?: DescribeCapacityReservationsRequestTag[]; 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 { capacityReservationSet?: DescribeCapacityReservationsResponseBodyCapacityReservationSet; maxResults?: number; nextToken?: string; requestId?: string; 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 { instanceId?: string; ownerId?: number; pageNumber?: string; pageSize?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { links?: DescribeClassicLinkInstancesResponseBodyLinks; pageNumber?: number; pageSize?: number; requestId?: string; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { agentUpgradeConfig?: DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfig; ossDeliveryConfigs?: DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigs; requestId?: string; 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 { instanceId?: string[]; maxResults?: number; nextToken?: string; OSType?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { instanceCloudAssistantStatusSet?: DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSet; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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; 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 { 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?: DescribeCommandsRequestTag[]; 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 { commands?: DescribeCommandsResponseBodyCommands; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { dedicatedHostIds?: string; ownerAccount?: string; ownerId?: number; 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 { dedicatedHostRenewAttributes?: DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributes; 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 { 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?: DescribeDedicatedHostClustersRequestTag[]; 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 { dedicatedHostClusters?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClusters; pageNumber?: number; pageSize?: number; requestId?: string; 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 { dedicatedHostType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { dedicatedHostTypes?: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypes; 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 { 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?: DescribeDedicatedHostsRequestTag[]; 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 { dedicatedHosts?: DescribeDedicatedHostsResponseBodyDedicatedHosts; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { demandId?: string; demandStatus?: 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?: DescribeDemandsRequestTag[]; 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 { demands?: DescribeDemandsResponseBodyDemands; pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; 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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { instanceTypeFamilies?: string; 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 { 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; 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 { deploymentSets?: DescribeDeploymentSetsResponseBodyDeploymentSets; pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; 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 { maxResults?: number; metricSetIds?: string[]; nextToken?: string; regionId?: string; resourceType?: string; 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 { metricSets?: DescribeDiagnosticMetricSetsResponseBodyMetricSets[]; nextToken?: string; 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 { maxResults?: number; metricIds?: string[]; nextToken?: string; regionId?: string; 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 { metrics?: DescribeDiagnosticMetricsResponseBodyMetrics[]; nextToken?: string; 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 { regionId?: string; 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 { 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; 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 { maxResults?: number; nextToken?: string; regionId?: string; reportIds?: string[]; resourceIds?: string[]; severity?: string; 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 { nextToken?: string; reports?: DescribeDiagnosticReportsResponseBodyReports; 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 DescribeDiskMonitorDataRequest extends $tea.Model { diskId?: string; endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { monitorData?: DescribeDiskMonitorDataResponseBodyMonitorData; requestId?: string; 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[]; additionalAttributes?: 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?: DescribeDisksRequestTag[]; 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 { disks?: DescribeDisksResponseBodyDisks; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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; diskId?: string[]; eventId?: string[]; eventType?: string; healthStatus?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; status?: string; 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 { diskFullStatusSet?: DescribeDisksFullStatusResponseBodyDiskFullStatusSet; pageNumber?: number; pageSize?: number; requestId?: string; 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; 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 { allocationId?: string; endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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; maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; 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 { elasticityAssuranceItem?: DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItem; maxResults?: number; nextToken?: string; requestId?: string; 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; 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?: DescribeElasticityAssurancesRequestTag[]; 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 { elasticityAssuranceSet?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSet; maxResults?: number; nextToken?: string; requestId?: string; 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 { endTime?: string; eniId?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { monitorData?: DescribeEniMonitorDataResponseBodyMonitorData; requestId?: string; 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; forwardTableId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { filter?: DescribeHaVipsRequestFilter[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { clientToken?: string; hpcClusterIds?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { hpcClusters?: DescribeHpcClustersResponseBodyHpcClusters; pageNumber?: number; pageSize?: number; requestId?: string; 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 { imageComponentId?: string[]; maxResults?: number; name?: string; nextToken?: string; owner?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; tag?: DescribeImageComponentsRequestTag[]; static names(): { [key: string]: string } { return { imageComponentId: 'ImageComponentId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', owner: 'Owner', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', }; } static types(): { [key: string]: any } { return { 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', tag: { 'type': 'array', 'itemType': DescribeImageComponentsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBody extends $tea.Model { imageComponent?: DescribeImageComponentsResponseBodyImageComponent; maxResults?: number; nextToken?: string; requestId?: string; 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 { imageFamily?: string; ownerAccount?: string; ownerId?: number; 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 { image?: DescribeImageFromFamilyResponseBodyImage; 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 { executionId?: string; imagePipelineId?: string; maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; status?: string; 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 { imagePipelineExecution?: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecution; maxResults?: number; nextToken?: string; requestId?: string; 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 { imagePipelineId?: string[]; maxResults?: number; name?: string; nextToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { imagePipeline?: DescribeImagePipelinesResponseBodyImagePipeline; maxResults?: number; nextToken?: string; requestId?: string; 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 { imageId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { accounts?: DescribeImageSharePermissionResponseBodyAccounts; imageId?: string; pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; shareGroups?: DescribeImageSharePermissionResponseBodyShareGroups; 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 { actionType?: string; filter?: DescribeImageSupportInstanceTypesRequestFilter[]; imageId?: string; ownerId?: number; 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 { imageId?: string; instanceTypes?: DescribeImageSupportInstanceTypesResponseBodyInstanceTypes; regionId?: string; 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 { actionType?: string; architecture?: string; dryRun?: boolean; filter?: 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?: DescribeImagesRequestTag[]; 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 { images?: DescribeImagesResponseBodyImages; pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; 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 { instanceIds?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { instances?: DescribeInstanceAttachmentAttributesResponseBodyInstances; pageNumber?: number; pageSize?: number; requestId?: string; 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 { 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 { 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; 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 { instanceId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: string; pageSize?: string; regionId?: string; 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 { instanceRenewAttributes?: DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributes; pageNumber?: number; pageSize?: number; requestId?: string; 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; eventCycleStatus?: string; eventId?: string[]; eventType?: string; impactLevel?: string; instanceEventCycleStatus?: string[]; instanceEventType?: string[]; instanceId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceGroupId?: string; resourceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; 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 { instanceSystemEventSet?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSet; pageNumber?: number; pageSize?: number; requestId?: string; 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 { instanceId?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { maintenanceAttributes?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributes; pageNumber?: number; pageSize?: number; requestId?: string; 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; dataDisk?: DescribeInstanceModificationPriceRequestDataDisk[]; instanceId?: string; instanceType?: string; ownerAccount?: string; ownerId?: number; 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 { priceInfo?: DescribeInstanceModificationPriceResponseBodyPriceInfo; 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 { endTime?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; period?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { monitorData?: DescribeInstanceMonitorDataResponseBodyMonitorData; 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 { instanceIds?: string; ownerId?: number; pageNumber?: number; pageSize?: number; ramRoleName?: string; 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 { instanceRamRoleSets?: DescribeInstanceRamRoleResponseBodyInstanceRamRoleSets; regionId?: string; requestId?: string; 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 { clusterId?: string; instanceId?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { instanceStatuses?: DescribeInstanceStatusResponseBodyInstanceStatuses; pageNumber?: number; pageSize?: number; requestId?: string; 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 { instanceIds?: string; ownerId?: number; 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 { requestId?: string; 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 { generation?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; 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 { instanceTypeFamilies?: DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamilies; 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 { cpuArchitecture?: string; cpuArchitectures?: string[]; GPUSpec?: string; gpuSpecs?: string[]; instanceCategories?: string[]; instanceCategory?: string; instanceFamilyLevel?: string; instanceTypeFamilies?: string[]; instanceTypeFamily?: string; instanceTypes?: string[]; localStorageCategories?: 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?: 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 { instanceTypes?: DescribeInstanceTypesResponseBodyInstanceTypes; nextToken?: string; 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 { instanceId?: string; ownerAccount?: string; ownerId?: number; 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 { requestId?: string; 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[]; additionalAttributes?: 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?: 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?: DescribeInstancesRequestTag[]; vSwitchId?: string; vpcId?: string; 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 { instances?: DescribeInstancesResponseBodyInstances; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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; eventId?: string[]; eventType?: string; healthStatus?: string; instanceEventType?: string[]; instanceId?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { instanceFullStatusSet?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSet; pageNumber?: number; pageSize?: number; requestId?: string; 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 { 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?: 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 { invocation?: DescribeInvocationResultsResponseBodyInvocation; 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 { 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?: DescribeInvocationsRequestTag[]; 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 { invocations?: DescribeInvocationsResponseBodyInvocations; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { includePublicKey?: boolean; keyPairFingerPrint?: string; keyPairName?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { keyPairs?: DescribeKeyPairsResponseBodyKeyPairs; pageNumber?: number; pageSize?: number; requestId?: string; 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 { defaultVersion?: boolean; detailFlag?: boolean; launchTemplateId?: string; launchTemplateName?: string; launchTemplateVersion?: number[]; maxVersion?: number; minVersion?: number; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { launchTemplateVersionSets?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSets; pageNumber?: number; pageSize?: number; requestId?: string; 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 { launchTemplateId?: string[]; launchTemplateName?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; templateResourceGroupId?: string; 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 { launchTemplateSets?: DescribeLaunchTemplatesResponseBodyLaunchTemplateSets; pageNumber?: number; pageSize?: number; requestId?: string; 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 { 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 { activationId?: string; instanceId?: 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?: 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 { instances?: DescribeManagedInstancesResponseBodyInstances[]; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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; 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 { attribute?: string; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { associatedPublicIp?: DescribeNetworkInterfaceAttributeResponseBodyAssociatedPublicIp; attachment?: DescribeNetworkInterfaceAttributeResponseBodyAttachment; bondInterfaceSpecification?: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecification; creationTime?: string; deleteOnRelease?: boolean; description?: string; instanceId?: string; ipv4PrefixSets?: DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSets; ipv6PrefixSets?: DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSets; ipv6Sets?: DescribeNetworkInterfaceAttributeResponseBodyIpv6Sets; macAddress?: string; networkInterfaceId?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; ownerId?: string; privateIpAddress?: string; privateIpSets?: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSets; queueNumber?: number; queuePairNumber?: number; requestId?: string; resourceGroupId?: string; securityGroupIds?: DescribeNetworkInterfaceAttributeResponseBodySecurityGroupIds; serviceID?: number; serviceManaged?: boolean; slaveInterfaceSpecification?: DescribeNetworkInterfaceAttributeResponseBodySlaveInterfaceSpecification; status?: string; tags?: DescribeNetworkInterfaceAttributeResponseBodyTags; tcpOptionAddressEnabled?: string; type?: string; vSwitchId?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { associatedPublicIp: 'AssociatedPublicIp', attachment: 'Attachment', bondInterfaceSpecification: 'BondInterfaceSpecification', creationTime: 'CreationTime', deleteOnRelease: 'DeleteOnRelease', description: 'Description', instanceId: 'InstanceId', ipv4PrefixSets: 'Ipv4PrefixSets', ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', macAddress: 'MacAddress', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', privateIpSets: 'PrivateIpSets', queueNumber: 'QueueNumber', queuePairNumber: 'QueuePairNumber', requestId: 'RequestId', resourceGroupId: 'ResourceGroupId', securityGroupIds: 'SecurityGroupIds', serviceID: 'ServiceID', serviceManaged: 'ServiceManaged', slaveInterfaceSpecification: 'SlaveInterfaceSpecification', 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, creationTime: 'string', deleteOnRelease: 'boolean', description: 'string', instanceId: 'string', ipv4PrefixSets: DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSets, ipv6PrefixSets: DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSets, ipv6Sets: DescribeNetworkInterfaceAttributeResponseBodyIpv6Sets, macAddress: 'string', networkInterfaceId: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', ownerId: 'string', privateIpAddress: 'string', privateIpSets: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSets, queueNumber: 'number', queuePairNumber: 'number', requestId: 'string', resourceGroupId: 'string', securityGroupIds: DescribeNetworkInterfaceAttributeResponseBodySecurityGroupIds, serviceID: 'number', serviceManaged: 'boolean', slaveInterfaceSpecification: DescribeNetworkInterfaceAttributeResponseBodySlaveInterfaceSpecification, 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 { networkInterfaceId?: string; networkInterfacePermissionId?: string[]; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; 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 { networkInterfacePermissions?: DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissions; pageNumber?: number; pageSize?: number; requestId?: string; 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 { instanceId?: string; ipv6Address?: string[]; maxResults?: number; networkInterfaceId?: string[]; networkInterfaceName?: string; nextToken?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; primaryIpAddress?: string; privateIpAddress?: string[]; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; serviceManaged?: boolean; status?: string; tag?: DescribeNetworkInterfacesRequestTag[]; type?: string; vSwitchId?: string; 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 { networkInterfaceSets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSets; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { allocationId?: string; endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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; 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 { maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; prefixListId?: string; 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 { nextToken?: string; prefixListAssociations?: DescribePrefixListAssociationsResponseBodyPrefixListAssociations; 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; prefixListId?: string; 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 { addressFamily?: string; creationTime?: string; description?: string; entries?: DescribePrefixListAttributesResponseBodyEntries; maxEntries?: number; prefixListId?: string; prefixListName?: string; 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 { addressFamily?: string; maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; prefixListId?: string[]; prefixListName?: string; 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 { nextToken?: string; prefixLists?: DescribePrefixListsResponseBodyPrefixLists; 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; amount?: number; assuranceTimes?: string; capacity?: number; dedicatedHostType?: string; imageId?: string; instanceAmount?: number; instanceCpuCoreCount?: number; instanceNetworkType?: string; instanceType?: string; instanceTypeList?: 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; 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 { priceInfo?: DescribePriceResponseBodyPriceInfo; 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 { cores?: number; instanceChargeType?: string; instanceFamilyLevel?: string; instanceType?: string; instanceTypeFamily?: 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; 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 { data?: DescribeRecommendInstanceTypeResponseBodyData; 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 { acceptLanguage?: string; instanceChargeType?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { regions?: DescribeRegionsResponseBodyRegions; 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 { expectedRenewDay?: number; ownerAccount?: string; ownerId?: number; period?: number; priceUnit?: string; regionId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { priceInfo?: DescribeRenewalPriceResponseBodyPriceInfo; 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; regionId?: string; 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 { requestId?: string; 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 { allocationType?: string; instanceType?: string; instanceTypeFamily?: string; lockReason?: string; offeringType?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; reservedInstanceId?: string[]; reservedInstanceName?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; scope?: string; status?: string[]; tag?: DescribeReservedInstancesRequestTag[]; 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 { pageNumber?: number; pageSize?: number; requestId?: string; reservedInstances?: DescribeReservedInstancesResponseBodyReservedInstances; 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; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; 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 { pageNumber?: number; pageSize?: number; requestId?: string; resources?: DescribeResourceByTagsResponseBodyResources; 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 { conditions?: 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; 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 { availableZones?: DescribeResourcesModificationResponseBodyAvailableZones; 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; 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 { direction?: string; nicType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; static names(): { [key: string]: string } { return { direction: 'Direction', nicType: 'NicType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { direction: '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 { description?: string; innerAccessPolicy?: string; permissions?: DescribeSecurityGroupAttributeResponseBodyPermissions; regionId?: string; requestId?: string; securityGroupId?: string; securityGroupName?: string; vpcId?: string; static names(): { [key: string]: string } { return { description: 'Description', innerAccessPolicy: 'InnerAccessPolicy', permissions: 'Permissions', regionId: 'RegionId', requestId: 'RequestId', securityGroupId: 'SecurityGroupId', securityGroupName: 'SecurityGroupName', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { description: 'string', innerAccessPolicy: '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; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { requestId?: string; 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 { 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?: DescribeSecurityGroupsRequestTag[]; 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 { nextToken?: string; pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; securityGroups?: DescribeSecurityGroupsResponseBodySecurityGroups; 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 { 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?: 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 { invocations?: DescribeSendFileResultsResponseBodyInvocations; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; 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 { additionalAttributes?: string[]; instanceId?: string; maxResults?: number; name?: string; nextToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; snapshotGroupId?: string[]; status?: string[]; 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 { nextToken?: string; requestId?: string; 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 { diskIds?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { pageNumber?: number; pageSize?: number; requestId?: string; snapshotLinks?: DescribeSnapshotLinksResponseBodySnapshotLinks; 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 { category?: string; endTime?: string; ownerAccount?: string; ownerId?: number; period?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { monitorData?: DescribeSnapshotMonitorDataResponseBodyMonitorData; 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; pageNumber?: number; pageSize?: number; 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 { pageNumber?: number; pageSize?: number; requestId?: string; snapshotPackages?: DescribeSnapshotPackageResponseBodySnapshotPackages; 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[]; 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?: DescribeSnapshotsRequestTag[]; 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 { nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; snapshots?: DescribeSnapshotsResponseBodySnapshots; 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; 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 { requestId?: string; snapshotCount?: number; 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 { cores?: number; gpuAmount?: number; gpuSpec?: string; instanceFamilyLevel?: string; instanceTypeFamily?: string; instanceTypes?: string[]; memory?: number; minCores?: number; minMemory?: number; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { availableSpotZones?: DescribeSpotAdviceResponseBodyAvailableSpotZones; regionId?: string; 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 { 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; 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 { currency?: string; nextOffset?: number; requestId?: string; 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 { allocationType?: string; capacity?: number; name?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; status?: string[]; storageCapacityUnitId?: string[]; 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 { pageNumber?: number; pageSize?: number; requestId?: string; storageCapacityUnits?: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnits; 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 { clientToken?: string; diskIds?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageSetId?: string; 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 { disks?: DescribeStorageSetDetailsResponseBodyDisks; pageNumber?: number; pageSize?: number; requestId?: string; 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 { clientToken?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageSetIds?: string; storageSetName?: string; 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 { pageNumber?: number; pageSize?: number; requestId?: string; storageSets?: DescribeStorageSetsResponseBodyStorageSets; 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 { category?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; 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 { pageNumber?: number; pageSize?: number; requestId?: string; tags?: DescribeTagsResponseBodyTags; 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 { ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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; 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 { endTime?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceIds?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; taskAction?: string; taskIds?: string; 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 { pageNumber?: number; pageSize?: number; regionId?: string; requestId?: string; taskSet?: DescribeTasksResponseBodyTaskSet; 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 { instanceId?: string; maxResults?: number; nextToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { nextToken?: string; requestId?: string; 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; 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 { instanceId?: string; ownerId?: number; 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 { instanceId?: string; regionId?: string; requestId?: string; 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; 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; 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; physicalConnectionId?: string; 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; 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 { acceptLanguage?: string; instanceChargeType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; spotStrategy?: string; 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 { requestId?: string; 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 { instanceId?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { deleteWithInstance?: boolean; diskId?: string; 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 { 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 { instanceIds?: string; ownerId?: number; ramRoleName?: string; 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 { detachInstanceRamRoleResults?: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResults; failCount?: number; ramRoleName?: string; requestId?: string; 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 { instanceIds?: string; keyPairName?: string; ownerId?: number; 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 { failCount?: string; keyPairName?: string; requestId?: string; results?: DetachKeyPairResponseBodyResults; 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 { instanceId?: string; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { 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 { activationId?: string; ownerAccount?: string; ownerId?: number; 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 { activation?: DisableActivationResponseBodyActivation; 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 EipFillParamsRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; data?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', data: 'data', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', data: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipFillParamsResponseBody extends $tea.Model { code?: string; data?: string; message?: string; requestId?: string; success?: boolean; static names(): { [key: string]: string } { return { code: 'code', data: 'data', message: 'message', requestId: 'requestId', success: 'success', }; } static types(): { [key: string]: any } { return { code: 'string', data: 'string', message: 'string', requestId: 'string', success: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipFillParamsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: EipFillParamsResponseBody; 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: EipFillParamsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipFillProductRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; data?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', data: 'data', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', data: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipFillProductResponseBody extends $tea.Model { code?: string; data?: string; message?: string; requestId?: string; success?: boolean; static names(): { [key: string]: string } { return { code: 'code', data: 'data', message: 'message', requestId: 'requestId', success: 'success', }; } static types(): { [key: string]: any } { return { code: 'string', data: 'string', message: 'string', requestId: 'string', success: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipFillProductResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: EipFillProductResponseBody; 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: EipFillProductResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipNotifyPaidRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; data?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', data: 'data', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', data: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipNotifyPaidResponseBody extends $tea.Model { code?: string; data?: string; message?: string; requestId?: string; success?: boolean; static names(): { [key: string]: string } { return { code: 'code', data: 'data', message: 'message', requestId: 'requestId', success: 'success', }; } static types(): { [key: string]: any } { return { code: 'string', data: 'string', message: 'string', requestId: 'string', success: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EipNotifyPaidResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: EipNotifyPaidResponseBody; 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: EipNotifyPaidResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class EnablePhysicalConnectionRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; physicalConnectionId?: string; 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 { imageFormat?: string; imageId?: string; OSSBucket?: string; OSSPrefix?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { regionId?: string; requestId?: string; 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 { ossBucket?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; roleName?: string; 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 { instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; 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 { consoleOutput?: string; instanceId?: string; lastUpdateTime?: string; 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 { instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { instanceId?: string; requestId?: string; 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 { architecture?: string; bootMode?: string; description?: string; detectionStrategy?: string; diskDeviceMapping?: ImportImageRequestDiskDeviceMapping[]; imageName?: string; licenseType?: string; OSType?: string; ownerId?: number; platform?: string; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; roleName?: string; storageLocationArn?: string; tag?: ImportImageRequestTag[]; static names(): { [key: string]: string } { return { architecture: 'Architecture', bootMode: 'BootMode', description: 'Description', detectionStrategy: 'DetectionStrategy', diskDeviceMapping: 'DiskDeviceMapping', 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 }, 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 { imageId?: string; regionId?: string; requestId?: string; 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 { keyPairName?: string; ownerId?: number; publicKeyBody?: string; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; 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 { keyPairFingerPrint?: string; keyPairName?: string; 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 { instanceId?: string[]; ownerAccount?: string; ownerId?: number; 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 { 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 { clientToken?: string; commandId?: string; containerId?: string; containerName?: string; frequency?: string; instanceId?: string[]; ownerAccount?: string; ownerId?: number; parameters?: { [key: string]: any }; regionId?: string; repeatMode?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceTag?: InvokeCommandRequestResourceTag[]; tag?: InvokeCommandRequestTag[]; timed?: boolean; timeout?: number; username?: string; windowsPasswordName?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', commandId: 'CommandId', containerId: 'ContainerId', containerName: 'ContainerName', frequency: 'Frequency', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parameters: 'Parameters', regionId: 'RegionId', repeatMode: 'RepeatMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceTag: 'ResourceTag', tag: 'Tag', timed: 'Timed', timeout: 'Timeout', username: 'Username', windowsPasswordName: 'WindowsPasswordName', }; } static types(): { [key: string]: any } { return { clientToken: 'string', commandId: 'string', containerId: 'string', containerName: 'string', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', parameters: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' }, regionId: 'string', repeatMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceTag: { 'type': 'array', 'itemType': InvokeCommandRequestResourceTag }, tag: { 'type': 'array', 'itemType': InvokeCommandRequestTag }, timed: 'boolean', timeout: 'number', username: 'string', windowsPasswordName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandShrinkRequest extends $tea.Model { clientToken?: string; commandId?: string; containerId?: string; containerName?: string; frequency?: string; instanceId?: string[]; ownerAccount?: string; ownerId?: number; parametersShrink?: string; regionId?: string; repeatMode?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceTag?: InvokeCommandShrinkRequestResourceTag[]; tag?: InvokeCommandShrinkRequestTag[]; timed?: boolean; timeout?: number; username?: string; windowsPasswordName?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', commandId: 'CommandId', containerId: 'ContainerId', containerName: 'ContainerName', frequency: 'Frequency', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parametersShrink: 'Parameters', regionId: 'RegionId', repeatMode: 'RepeatMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceTag: 'ResourceTag', tag: 'Tag', timed: 'Timed', timeout: 'Timeout', username: 'Username', windowsPasswordName: 'WindowsPasswordName', }; } static types(): { [key: string]: any } { return { clientToken: 'string', commandId: 'string', containerId: 'string', containerName: 'string', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', parametersShrink: 'string', regionId: 'string', repeatMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceTag: { 'type': 'array', 'itemType': InvokeCommandShrinkRequestResourceTag }, tag: { 'type': 'array', 'itemType': InvokeCommandShrinkRequestTag }, timed: 'boolean', timeout: 'number', username: 'string', windowsPasswordName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandResponseBody extends $tea.Model { invokeId?: string; requestId?: string; static names(): { [key: string]: string } { return { invokeId: 'InvokeId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { invokeId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: InvokeCommandResponseBody; 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: InvokeCommandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class JoinResourceGroupRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class JoinResourceGroupResponseBody 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 JoinResourceGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: JoinResourceGroupResponseBody; 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: JoinResourceGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class JoinSecurityGroupRequest extends $tea.Model { instanceId?: string; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class JoinSecurityGroupResponseBody 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 JoinSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: JoinSecurityGroupResponseBody; 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: JoinSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class LeaveSecurityGroupRequest extends $tea.Model { instanceId?: string; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class LeaveSecurityGroupResponseBody 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 LeaveSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: LeaveSecurityGroupResponseBody; 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: LeaveSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusRequest extends $tea.Model { instanceId?: string[]; maxResults?: number; name?: string; nextToken?: string; ownerAccount?: string; ownerId?: number; pageNumber?: number; pageSize?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', maxResults: 'MaxResults', name: 'Name', nextToken: 'NextToken', 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', name: 'string', nextToken: 'string', ownerAccount: 'string', ownerId: 'number', pageNumber: 'number', pageSize: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponseBody extends $tea.Model { instancePluginStatusSet?: ListPluginStatusResponseBodyInstancePluginStatusSet; nextToken?: string; pageNumber?: number; pageSize?: number; requestId?: string; totalCount?: number; static names(): { [key: string]: string } { return { instancePluginStatusSet: 'InstancePluginStatusSet', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', requestId: 'RequestId', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { instancePluginStatusSet: ListPluginStatusResponseBodyInstancePluginStatusSet, nextToken: 'string', pageNumber: 'number', pageSize: 'number', requestId: 'string', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ListPluginStatusResponseBody; 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: ListPluginStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesRequest extends $tea.Model { nextToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; tag?: ListTagResourcesRequestTag[]; tagFilter?: ListTagResourcesRequestTagFilter[]; static names(): { [key: string]: string } { return { nextToken: 'NextToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tag: 'Tag', tagFilter: 'TagFilter', }; } static types(): { [key: string]: any } { return { nextToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tag: { 'type': 'array', 'itemType': ListTagResourcesRequestTag }, tagFilter: { 'type': 'array', 'itemType': ListTagResourcesRequestTagFilter }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesResponseBody extends $tea.Model { nextToken?: string; requestId?: string; tagResources?: ListTagResourcesResponseBodyTagResources; static names(): { [key: string]: string } { return { nextToken: 'NextToken', requestId: 'RequestId', tagResources: 'TagResources', }; } static types(): { [key: string]: any } { return { nextToken: 'string', requestId: 'string', tagResources: ListTagResourcesResponseBodyTagResources, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ListTagResourcesResponseBody; 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: ListTagResourcesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoProvisioningGroupRequest extends $tea.Model { autoProvisioningGroupId?: string; autoProvisioningGroupName?: string; defaultTargetCapacityType?: string; excessCapacityTerminationPolicy?: string; launchTemplateConfig?: ModifyAutoProvisioningGroupRequestLaunchTemplateConfig[]; maxSpotPrice?: number; ownerAccount?: string; ownerId?: number; payAsYouGoTargetCapacity?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; spotTargetCapacity?: string; terminateInstancesWithExpiration?: boolean; totalTargetCapacity?: string; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', autoProvisioningGroupName: 'AutoProvisioningGroupName', defaultTargetCapacityType: 'DefaultTargetCapacityType', excessCapacityTerminationPolicy: 'ExcessCapacityTerminationPolicy', launchTemplateConfig: 'LaunchTemplateConfig', maxSpotPrice: 'MaxSpotPrice', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', payAsYouGoTargetCapacity: 'PayAsYouGoTargetCapacity', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', spotTargetCapacity: 'SpotTargetCapacity', terminateInstancesWithExpiration: 'TerminateInstancesWithExpiration', totalTargetCapacity: 'TotalTargetCapacity', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', autoProvisioningGroupName: 'string', defaultTargetCapacityType: 'string', excessCapacityTerminationPolicy: 'string', launchTemplateConfig: { 'type': 'array', 'itemType': ModifyAutoProvisioningGroupRequestLaunchTemplateConfig }, maxSpotPrice: 'number', ownerAccount: 'string', ownerId: 'number', payAsYouGoTargetCapacity: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', spotTargetCapacity: 'string', terminateInstancesWithExpiration: 'boolean', totalTargetCapacity: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoProvisioningGroupResponseBody 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 ModifyAutoProvisioningGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyAutoProvisioningGroupResponseBody; 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: ModifyAutoProvisioningGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyRequest extends $tea.Model { dataDiskPolicyEnabled?: boolean; dataDiskPolicyRetentionDays?: number; dataDiskPolicyRetentionLastWeek?: boolean; dataDiskPolicyTimePeriod?: number; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; systemDiskPolicyEnabled?: boolean; systemDiskPolicyRetentionDays?: number; systemDiskPolicyRetentionLastWeek?: boolean; systemDiskPolicyTimePeriod?: number; static names(): { [key: string]: string } { return { dataDiskPolicyEnabled: 'DataDiskPolicyEnabled', dataDiskPolicyRetentionDays: 'DataDiskPolicyRetentionDays', dataDiskPolicyRetentionLastWeek: 'DataDiskPolicyRetentionLastWeek', dataDiskPolicyTimePeriod: 'DataDiskPolicyTimePeriod', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', systemDiskPolicyEnabled: 'SystemDiskPolicyEnabled', systemDiskPolicyRetentionDays: 'SystemDiskPolicyRetentionDays', systemDiskPolicyRetentionLastWeek: 'SystemDiskPolicyRetentionLastWeek', systemDiskPolicyTimePeriod: 'SystemDiskPolicyTimePeriod', }; } static types(): { [key: string]: any } { return { dataDiskPolicyEnabled: 'boolean', dataDiskPolicyRetentionDays: 'number', dataDiskPolicyRetentionLastWeek: 'boolean', dataDiskPolicyTimePeriod: 'number', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', systemDiskPolicyEnabled: 'boolean', systemDiskPolicyRetentionDays: 'number', systemDiskPolicyRetentionLastWeek: 'boolean', systemDiskPolicyTimePeriod: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyResponseBody 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 ModifyAutoSnapshotPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyAutoSnapshotPolicyResponseBody; 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: ModifyAutoSnapshotPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyExRequest extends $tea.Model { copiedSnapshotsRetentionDays?: number; copyEncryptionConfiguration?: ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfiguration; enableCrossRegionCopy?: boolean; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; targetCopyRegions?: string; autoSnapshotPolicyId?: string; autoSnapshotPolicyName?: string; regionId?: string; repeatWeekdays?: string; retentionDays?: number; timePoints?: string; static names(): { [key: string]: string } { return { copiedSnapshotsRetentionDays: 'CopiedSnapshotsRetentionDays', copyEncryptionConfiguration: 'CopyEncryptionConfiguration', enableCrossRegionCopy: 'EnableCrossRegionCopy', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', targetCopyRegions: 'TargetCopyRegions', autoSnapshotPolicyId: 'autoSnapshotPolicyId', autoSnapshotPolicyName: 'autoSnapshotPolicyName', regionId: 'regionId', repeatWeekdays: 'repeatWeekdays', retentionDays: 'retentionDays', timePoints: 'timePoints', }; } static types(): { [key: string]: any } { return { copiedSnapshotsRetentionDays: 'number', copyEncryptionConfiguration: ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfiguration, enableCrossRegionCopy: 'boolean', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', targetCopyRegions: 'string', autoSnapshotPolicyId: 'string', autoSnapshotPolicyName: 'string', regionId: 'string', repeatWeekdays: 'string', retentionDays: 'number', timePoints: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyExResponseBody 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 ModifyAutoSnapshotPolicyExResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyAutoSnapshotPolicyExResponseBody; 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: ModifyAutoSnapshotPolicyExResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyBandwidthPackageSpecRequest extends $tea.Model { bandwidth?: string; bandwidthPackageId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bandwidth: 'Bandwidth', bandwidthPackageId: 'BandwidthPackageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bandwidth: 'string', bandwidthPackageId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyBandwidthPackageSpecResponseBody 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 ModifyBandwidthPackageSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyBandwidthPackageSpecResponseBody; 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: ModifyBandwidthPackageSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCapacityReservationRequest extends $tea.Model { privatePoolOptions?: ModifyCapacityReservationRequestPrivatePoolOptions; description?: string; endTime?: string; endTimeType?: string; instanceAmount?: number; ownerAccount?: string; ownerId?: number; platform?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', description: 'Description', endTime: 'EndTime', endTimeType: 'EndTimeType', instanceAmount: 'InstanceAmount', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', platform: 'Platform', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { privatePoolOptions: ModifyCapacityReservationRequestPrivatePoolOptions, description: 'string', endTime: 'string', endTimeType: 'string', instanceAmount: 'number', ownerAccount: 'string', ownerId: 'number', platform: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCapacityReservationResponseBody 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 ModifyCapacityReservationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyCapacityReservationResponseBody; 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: ModifyCapacityReservationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsRequest extends $tea.Model { agentUpgradeConfig?: ModifyCloudAssistantSettingsRequestAgentUpgradeConfig; ossDeliveryConfig?: ModifyCloudAssistantSettingsRequestOssDeliveryConfig; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; settingType?: string; slsDeliveryConfig?: ModifyCloudAssistantSettingsRequestSlsDeliveryConfig; static names(): { [key: string]: string } { return { agentUpgradeConfig: 'AgentUpgradeConfig', ossDeliveryConfig: 'OssDeliveryConfig', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', settingType: 'SettingType', slsDeliveryConfig: 'SlsDeliveryConfig', }; } static types(): { [key: string]: any } { return { agentUpgradeConfig: ModifyCloudAssistantSettingsRequestAgentUpgradeConfig, ossDeliveryConfig: ModifyCloudAssistantSettingsRequestOssDeliveryConfig, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', settingType: 'string', slsDeliveryConfig: ModifyCloudAssistantSettingsRequestSlsDeliveryConfig, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsShrinkRequest extends $tea.Model { agentUpgradeConfigShrink?: string; ossDeliveryConfigShrink?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; settingType?: string; slsDeliveryConfigShrink?: string; static names(): { [key: string]: string } { return { agentUpgradeConfigShrink: 'AgentUpgradeConfig', ossDeliveryConfigShrink: 'OssDeliveryConfig', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', settingType: 'SettingType', slsDeliveryConfigShrink: 'SlsDeliveryConfig', }; } static types(): { [key: string]: any } { return { agentUpgradeConfigShrink: 'string', ossDeliveryConfigShrink: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', settingType: 'string', slsDeliveryConfigShrink: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsResponseBody 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 ModifyCloudAssistantSettingsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyCloudAssistantSettingsResponseBody; 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: ModifyCloudAssistantSettingsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCommandRequest extends $tea.Model { commandContent?: string; commandId?: string; description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; timeout?: number; workingDir?: string; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', commandId: 'CommandId', description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', timeout: 'Timeout', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { commandContent: 'string', commandId: 'string', description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', timeout: 'number', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCommandResponseBody 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 ModifyCommandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyCommandResponseBody; 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: ModifyCommandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAttributeRequest extends $tea.Model { networkAttributes?: ModifyDedicatedHostAttributeRequestNetworkAttributes; actionOnMaintenance?: string; autoPlacement?: string; cpuOverCommitRatio?: number; dedicatedHostClusterId?: string; dedicatedHostId?: string; dedicatedHostName?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { networkAttributes: 'NetworkAttributes', actionOnMaintenance: 'ActionOnMaintenance', autoPlacement: 'AutoPlacement', cpuOverCommitRatio: 'CpuOverCommitRatio', dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostId: 'DedicatedHostId', dedicatedHostName: 'DedicatedHostName', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { networkAttributes: ModifyDedicatedHostAttributeRequestNetworkAttributes, actionOnMaintenance: 'string', autoPlacement: 'string', cpuOverCommitRatio: 'number', dedicatedHostClusterId: 'string', dedicatedHostId: 'string', dedicatedHostName: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAttributeResponseBody 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 ModifyDedicatedHostAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDedicatedHostAttributeResponseBody; 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: ModifyDedicatedHostAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAutoReleaseTimeRequest extends $tea.Model { autoReleaseTime?: string; dedicatedHostId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoReleaseTime: 'AutoReleaseTime', dedicatedHostId: 'DedicatedHostId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoReleaseTime: 'string', dedicatedHostId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAutoReleaseTimeResponseBody 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 ModifyDedicatedHostAutoReleaseTimeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDedicatedHostAutoReleaseTimeResponseBody; 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: ModifyDedicatedHostAutoReleaseTimeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAutoRenewAttributeRequest extends $tea.Model { autoRenew?: boolean; autoRenewWithEcs?: string; dedicatedHostIds?: string; duration?: number; ownerAccount?: string; ownerId?: number; periodUnit?: string; regionId?: string; renewalStatus?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoRenew: 'AutoRenew', autoRenewWithEcs: 'AutoRenewWithEcs', dedicatedHostIds: 'DedicatedHostIds', duration: 'Duration', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', periodUnit: 'PeriodUnit', regionId: 'RegionId', renewalStatus: 'RenewalStatus', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoRenew: 'boolean', autoRenewWithEcs: 'string', dedicatedHostIds: 'string', duration: 'number', ownerAccount: 'string', ownerId: 'number', periodUnit: 'string', regionId: 'string', renewalStatus: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAutoRenewAttributeResponseBody 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 ModifyDedicatedHostAutoRenewAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDedicatedHostAutoRenewAttributeResponseBody; 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: ModifyDedicatedHostAutoRenewAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostClusterAttributeRequest extends $tea.Model { dedicatedHostClusterId?: string; dedicatedHostClusterName?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostClusterName: 'DedicatedHostClusterName', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', dedicatedHostClusterName: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostClusterAttributeResponseBody 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 ModifyDedicatedHostClusterAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDedicatedHostClusterAttributeResponseBody; 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: ModifyDedicatedHostClusterAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostsChargeTypeRequest extends $tea.Model { autoPay?: boolean; clientToken?: string; dedicatedHostChargeType?: string; dedicatedHostIds?: string; detailFee?: boolean; dryRun?: boolean; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoPay: 'AutoPay', clientToken: 'ClientToken', dedicatedHostChargeType: 'DedicatedHostChargeType', dedicatedHostIds: 'DedicatedHostIds', detailFee: 'DetailFee', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoPay: 'boolean', clientToken: 'string', dedicatedHostChargeType: 'string', dedicatedHostIds: 'string', detailFee: 'boolean', dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostsChargeTypeResponseBody extends $tea.Model { feeOfInstances?: ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstances; orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { feeOfInstances: 'FeeOfInstances', orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { feeOfInstances: ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstances, orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostsChargeTypeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDedicatedHostsChargeTypeResponseBody; 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: ModifyDedicatedHostsChargeTypeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDemandRequest extends $tea.Model { amount?: number; clientToken?: string; demandDescription?: string; demandId?: 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; static names(): { [key: string]: string } { return { amount: 'Amount', clientToken: 'ClientToken', demandDescription: 'DemandDescription', demandId: 'DemandId', 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', demandId: '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 ModifyDemandResponseBody 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 ModifyDemandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDemandResponseBody; 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: ModifyDemandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDeploymentSetAttributeRequest extends $tea.Model { deploymentSetId?: string; deploymentSetName?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { deploymentSetId: 'DeploymentSetId', deploymentSetName: 'DeploymentSetName', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { deploymentSetId: 'string', deploymentSetName: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDeploymentSetAttributeResponseBody 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 ModifyDeploymentSetAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDeploymentSetAttributeResponseBody; 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: ModifyDeploymentSetAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiagnosticMetricSetRequest extends $tea.Model { description?: string; metricIds?: string[]; metricSetId?: string; metricSetName?: string; regionId?: string; resourceType?: string; static names(): { [key: string]: string } { return { description: 'Description', metricIds: 'MetricIds', metricSetId: 'MetricSetId', metricSetName: 'MetricSetName', regionId: 'RegionId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { description: 'string', metricIds: { 'type': 'array', 'itemType': 'string' }, metricSetId: 'string', metricSetName: 'string', regionId: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiagnosticMetricSetResponseBody 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 ModifyDiagnosticMetricSetResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDiagnosticMetricSetResponseBody; 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: ModifyDiagnosticMetricSetResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskAttributeRequest extends $tea.Model { burstingEnabled?: boolean; deleteAutoSnapshot?: boolean; deleteWithInstance?: boolean; description?: string; diskId?: string; diskIds?: string[]; diskName?: string; enableAutoSnapshot?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { burstingEnabled: 'BurstingEnabled', deleteAutoSnapshot: 'DeleteAutoSnapshot', deleteWithInstance: 'DeleteWithInstance', description: 'Description', diskId: 'DiskId', diskIds: 'DiskIds', diskName: 'DiskName', enableAutoSnapshot: 'EnableAutoSnapshot', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { burstingEnabled: 'boolean', deleteAutoSnapshot: 'boolean', deleteWithInstance: 'boolean', description: 'string', diskId: 'string', diskIds: { 'type': 'array', 'itemType': 'string' }, diskName: 'string', enableAutoSnapshot: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskAttributeResponseBody 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 ModifyDiskAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDiskAttributeResponseBody; 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: ModifyDiskAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskChargeTypeRequest extends $tea.Model { autoPay?: boolean; clientToken?: string; diskChargeType?: string; diskIds?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoPay: 'AutoPay', clientToken: 'ClientToken', diskChargeType: 'DiskChargeType', diskIds: 'DiskIds', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoPay: 'boolean', clientToken: 'string', diskChargeType: 'string', diskIds: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskChargeTypeResponseBody extends $tea.Model { orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskChargeTypeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDiskChargeTypeResponseBody; 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: ModifyDiskChargeTypeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskDeploymentRequest extends $tea.Model { diskCategory?: string; diskId?: string; dryRun?: boolean; ownerAccount?: string; ownerId?: number; performanceLevel?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageClusterId?: string; static names(): { [key: string]: string } { return { diskCategory: 'DiskCategory', diskId: 'DiskId', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', performanceLevel: 'PerformanceLevel', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageClusterId: 'StorageClusterId', }; } static types(): { [key: string]: any } { return { diskCategory: 'string', diskId: 'string', dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', performanceLevel: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskDeploymentResponseBody 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 ModifyDiskDeploymentResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDiskDeploymentResponseBody; 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: ModifyDiskDeploymentResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskSpecRequest extends $tea.Model { diskCategory?: string; diskId?: string; dryRun?: boolean; ownerAccount?: string; ownerId?: number; performanceControlOptions?: ModifyDiskSpecRequestPerformanceControlOptions; performanceLevel?: string; provisionedIops?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { diskCategory: 'DiskCategory', diskId: 'DiskId', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', performanceControlOptions: 'PerformanceControlOptions', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { diskCategory: 'string', diskId: 'string', dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', performanceControlOptions: ModifyDiskSpecRequestPerformanceControlOptions, performanceLevel: 'string', provisionedIops: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskSpecResponseBody extends $tea.Model { orderId?: string; requestId?: string; taskId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyDiskSpecResponseBody; 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: ModifyDiskSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyEipAddressAttributeRequest extends $tea.Model { allocationId?: string; bandwidth?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', bandwidth: 'Bandwidth', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { allocationId: 'string', bandwidth: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyEipAddressAttributeResponseBody 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 ModifyEipAddressAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyEipAddressAttributeResponseBody; 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: ModifyEipAddressAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyElasticityAssuranceRequest extends $tea.Model { privatePoolOptions?: ModifyElasticityAssuranceRequestPrivatePoolOptions; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: ModifyElasticityAssuranceRequestPrivatePoolOptions, description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyElasticityAssuranceResponseBody 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 ModifyElasticityAssuranceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyElasticityAssuranceResponseBody; 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: ModifyElasticityAssuranceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyForwardEntryRequest extends $tea.Model { externalIp?: string; externalPort?: string; forwardEntryId?: string; forwardTableId?: string; internalIp?: string; internalPort?: string; ipProtocol?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { externalIp: 'ExternalIp', externalPort: 'ExternalPort', forwardEntryId: 'ForwardEntryId', 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', forwardEntryId: '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 ModifyForwardEntryResponseBody 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 ModifyForwardEntryResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyForwardEntryResponseBody; 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: ModifyForwardEntryResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyHaVipAttributeRequest extends $tea.Model { clientToken?: string; description?: string; haVipId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', haVipId: 'HaVipId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', haVipId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyHaVipAttributeResponseBody 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 ModifyHaVipAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyHaVipAttributeResponseBody; 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: ModifyHaVipAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyHpcClusterAttributeRequest extends $tea.Model { clientToken?: string; description?: string; hpcClusterId?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', hpcClusterId: 'HpcClusterId', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', hpcClusterId: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyHpcClusterAttributeResponseBody 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 ModifyHpcClusterAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyHpcClusterAttributeResponseBody; 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: ModifyHpcClusterAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageAttributeRequest extends $tea.Model { bootMode?: string; description?: string; features?: ModifyImageAttributeRequestFeatures; imageFamily?: string; imageId?: string; imageName?: string; licenseType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; status?: string; static names(): { [key: string]: string } { return { bootMode: 'BootMode', description: 'Description', features: 'Features', imageFamily: 'ImageFamily', imageId: 'ImageId', imageName: 'ImageName', licenseType: 'LicenseType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', status: 'Status', }; } static types(): { [key: string]: any } { return { bootMode: 'string', description: 'string', features: ModifyImageAttributeRequestFeatures, imageFamily: 'string', imageId: 'string', imageName: 'string', licenseType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageAttributeResponseBody 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 ModifyImageAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyImageAttributeResponseBody; 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: ModifyImageAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageShareGroupPermissionRequest extends $tea.Model { addGroup?: string[]; removeGroup?: string[]; imageId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { addGroup: 'AddGroup', removeGroup: 'RemoveGroup', imageId: 'ImageId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { addGroup: { 'type': 'array', 'itemType': 'string' }, removeGroup: { 'type': 'array', 'itemType': 'string' }, imageId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageShareGroupPermissionResponseBody 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 ModifyImageShareGroupPermissionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyImageShareGroupPermissionResponseBody; 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: ModifyImageShareGroupPermissionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageSharePermissionRequest extends $tea.Model { addAccount?: string[]; imageId?: string; isPublic?: boolean; launchPermission?: string; ownerAccount?: string; ownerId?: number; regionId?: string; removeAccount?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { addAccount: 'AddAccount', imageId: 'ImageId', isPublic: 'IsPublic', launchPermission: 'LaunchPermission', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', removeAccount: 'RemoveAccount', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { addAccount: { 'type': 'array', 'itemType': 'string' }, imageId: 'string', isPublic: 'boolean', launchPermission: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', removeAccount: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageSharePermissionResponseBody 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 ModifyImageSharePermissionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyImageSharePermissionResponseBody; 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: ModifyImageSharePermissionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttachmentAttributesRequest extends $tea.Model { privatePoolOptions?: ModifyInstanceAttachmentAttributesRequestPrivatePoolOptions; instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: ModifyInstanceAttachmentAttributesRequestPrivatePoolOptions, instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttachmentAttributesResponseBody 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 ModifyInstanceAttachmentAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceAttachmentAttributesResponseBody; 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: ModifyInstanceAttachmentAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttributeRequest extends $tea.Model { cpuOptions?: ModifyInstanceAttributeRequestCpuOptions; creditSpecification?: string; deletionProtection?: boolean; description?: string; enableJumboFrame?: boolean; hostName?: string; instanceId?: string; instanceName?: string; networkInterfaceQueueNumber?: number; ownerAccount?: string; ownerId?: number; password?: string; recyclable?: boolean; remoteConnectionOptions?: ModifyInstanceAttributeRequestRemoteConnectionOptions; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupIds?: string[]; userData?: string; static names(): { [key: string]: string } { return { cpuOptions: 'CpuOptions', creditSpecification: 'CreditSpecification', deletionProtection: 'DeletionProtection', description: 'Description', enableJumboFrame: 'EnableJumboFrame', hostName: 'HostName', instanceId: 'InstanceId', instanceName: 'InstanceName', networkInterfaceQueueNumber: 'NetworkInterfaceQueueNumber', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', password: 'Password', recyclable: 'Recyclable', remoteConnectionOptions: 'RemoteConnectionOptions', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupIds: 'SecurityGroupIds', userData: 'UserData', }; } static types(): { [key: string]: any } { return { cpuOptions: ModifyInstanceAttributeRequestCpuOptions, creditSpecification: 'string', deletionProtection: 'boolean', description: 'string', enableJumboFrame: 'boolean', hostName: 'string', instanceId: 'string', instanceName: 'string', networkInterfaceQueueNumber: 'number', ownerAccount: 'string', ownerId: 'number', password: 'string', recyclable: 'boolean', remoteConnectionOptions: ModifyInstanceAttributeRequestRemoteConnectionOptions, resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, userData: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttributeResponseBody 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 ModifyInstanceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceAttributeResponseBody; 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: ModifyInstanceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAutoReleaseTimeRequest extends $tea.Model { autoReleaseTime?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoReleaseTime: 'AutoReleaseTime', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoReleaseTime: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAutoReleaseTimeResponseBody 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 ModifyInstanceAutoReleaseTimeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceAutoReleaseTimeResponseBody; 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: ModifyInstanceAutoReleaseTimeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAutoRenewAttributeRequest extends $tea.Model { autoRenew?: boolean; duration?: number; instanceId?: string; ownerAccount?: string; ownerId?: number; periodUnit?: string; regionId?: string; renewalStatus?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoRenew: 'AutoRenew', duration: 'Duration', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', periodUnit: 'PeriodUnit', regionId: 'RegionId', renewalStatus: 'RenewalStatus', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoRenew: 'boolean', duration: 'number', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', periodUnit: 'string', regionId: 'string', renewalStatus: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAutoRenewAttributeResponseBody 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 ModifyInstanceAutoRenewAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceAutoRenewAttributeResponseBody; 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: ModifyInstanceAutoRenewAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceChargeTypeRequest extends $tea.Model { autoPay?: boolean; clientToken?: string; dryRun?: boolean; includeDataDisks?: boolean; instanceChargeType?: string; instanceIds?: string; isDetailFee?: boolean; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoPay: 'AutoPay', clientToken: 'ClientToken', dryRun: 'DryRun', includeDataDisks: 'IncludeDataDisks', instanceChargeType: 'InstanceChargeType', instanceIds: 'InstanceIds', isDetailFee: 'IsDetailFee', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoPay: 'boolean', clientToken: 'string', dryRun: 'boolean', includeDataDisks: 'boolean', instanceChargeType: 'string', instanceIds: 'string', isDetailFee: 'boolean', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceChargeTypeResponseBody extends $tea.Model { feeOfInstances?: ModifyInstanceChargeTypeResponseBodyFeeOfInstances; orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { feeOfInstances: 'FeeOfInstances', orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { feeOfInstances: ModifyInstanceChargeTypeResponseBodyFeeOfInstances, orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceChargeTypeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceChargeTypeResponseBody; 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: ModifyInstanceChargeTypeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceDeploymentRequest extends $tea.Model { affinity?: string; dedicatedHostClusterId?: string; dedicatedHostId?: string; deploymentSetGroupNo?: number; deploymentSetId?: string; force?: boolean; instanceId?: string; instanceType?: string; migrationType?: string; ownerAccount?: string; ownerId?: number; regionId?: string; removeFromDeploymentSet?: boolean; resourceOwnerAccount?: string; resourceOwnerId?: number; tenancy?: string; static names(): { [key: string]: string } { return { affinity: 'Affinity', dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostId: 'DedicatedHostId', deploymentSetGroupNo: 'DeploymentSetGroupNo', deploymentSetId: 'DeploymentSetId', force: 'Force', instanceId: 'InstanceId', instanceType: 'InstanceType', migrationType: 'MigrationType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', removeFromDeploymentSet: 'RemoveFromDeploymentSet', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tenancy: 'Tenancy', }; } static types(): { [key: string]: any } { return { affinity: 'string', dedicatedHostClusterId: 'string', dedicatedHostId: 'string', deploymentSetGroupNo: 'number', deploymentSetId: 'string', force: 'boolean', instanceId: 'string', instanceType: 'string', migrationType: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', removeFromDeploymentSet: 'boolean', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tenancy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceDeploymentResponseBody 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 ModifyInstanceDeploymentResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceDeploymentResponseBody; 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: ModifyInstanceDeploymentResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceMaintenanceAttributesRequest extends $tea.Model { actionOnMaintenance?: string; instanceId?: string[]; maintenanceWindow?: ModifyInstanceMaintenanceAttributesRequestMaintenanceWindow[]; notifyOnMaintenance?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { actionOnMaintenance: 'ActionOnMaintenance', instanceId: 'InstanceId', maintenanceWindow: 'MaintenanceWindow', notifyOnMaintenance: 'NotifyOnMaintenance', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { actionOnMaintenance: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, maintenanceWindow: { 'type': 'array', 'itemType': ModifyInstanceMaintenanceAttributesRequestMaintenanceWindow }, notifyOnMaintenance: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceMaintenanceAttributesResponseBody 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 ModifyInstanceMaintenanceAttributesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceMaintenanceAttributesResponseBody; 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: ModifyInstanceMaintenanceAttributesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceMetadataOptionsRequest extends $tea.Model { httpEndpoint?: string; httpPutResponseHopLimit?: number; httpTokens?: string; instanceId?: string; instanceMetadataTags?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', instanceId: 'InstanceId', instanceMetadataTags: 'InstanceMetadataTags', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', instanceId: 'string', instanceMetadataTags: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceMetadataOptionsResponseBody 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 ModifyInstanceMetadataOptionsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceMetadataOptionsResponseBody; 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: ModifyInstanceMetadataOptionsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceNetworkSpecRequest extends $tea.Model { allocatePublicIp?: boolean; autoPay?: boolean; clientToken?: string; endTime?: string; ISP?: string; instanceId?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; networkChargeType?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; static names(): { [key: string]: string } { return { allocatePublicIp: 'AllocatePublicIp', autoPay: 'AutoPay', clientToken: 'ClientToken', endTime: 'EndTime', ISP: 'ISP', instanceId: 'InstanceId', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', networkChargeType: 'NetworkChargeType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { allocatePublicIp: 'boolean', autoPay: 'boolean', clientToken: 'string', endTime: 'string', ISP: 'string', instanceId: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', networkChargeType: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceNetworkSpecResponseBody extends $tea.Model { orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceNetworkSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceNetworkSpecResponseBody; 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: ModifyInstanceNetworkSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceSpecRequest extends $tea.Model { systemDisk?: ModifyInstanceSpecRequestSystemDisk; temporary?: ModifyInstanceSpecRequestTemporary; allowMigrateAcrossZone?: boolean; async?: boolean; clientToken?: string; disk?: ModifyInstanceSpecRequestDisk[]; dryRun?: boolean; instanceId?: string; instanceType?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; modifyMode?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', temporary: 'Temporary', allowMigrateAcrossZone: 'AllowMigrateAcrossZone', async: 'Async', clientToken: 'ClientToken', disk: 'Disk', dryRun: 'DryRun', instanceId: 'InstanceId', instanceType: 'InstanceType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', modifyMode: 'ModifyMode', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { systemDisk: ModifyInstanceSpecRequestSystemDisk, temporary: ModifyInstanceSpecRequestTemporary, allowMigrateAcrossZone: 'boolean', async: 'boolean', clientToken: 'string', disk: { 'type': 'array', 'itemType': ModifyInstanceSpecRequestDisk }, dryRun: 'boolean', instanceId: 'string', instanceType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', modifyMode: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceSpecResponseBody 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 ModifyInstanceSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceSpecResponseBody; 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: ModifyInstanceSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceVncPasswdRequest extends $tea.Model { instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vncPassword?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vncPassword: 'VncPassword', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vncPassword: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceVncPasswdResponseBody 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 ModifyInstanceVncPasswdResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceVncPasswdResponseBody; 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: ModifyInstanceVncPasswdResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceVpcAttributeRequest extends $tea.Model { instanceId?: string; ownerAccount?: string; ownerId?: number; privateIpAddress?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string[]; vSwitchId?: string; vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', vSwitchId: 'VSwitchId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ownerAccount: 'string', ownerId: 'number', privateIpAddress: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: { 'type': 'array', 'itemType': 'string' }, vSwitchId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceVpcAttributeResponseBody 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 ModifyInstanceVpcAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInstanceVpcAttributeResponseBody; 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: ModifyInstanceVpcAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInvocationAttributeRequest extends $tea.Model { commandContent?: string; contentEncoding?: string; enableParameter?: boolean; frequency?: string; instanceId?: string[]; invokeId?: string; ownerAccount?: string; ownerId?: number; parameters?: { [key: string]: any }; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', contentEncoding: 'ContentEncoding', enableParameter: 'EnableParameter', frequency: 'Frequency', instanceId: 'InstanceId', invokeId: 'InvokeId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parameters: 'Parameters', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { commandContent: 'string', contentEncoding: 'string', enableParameter: 'boolean', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, invokeId: 'string', ownerAccount: 'string', ownerId: 'number', parameters: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' }, regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInvocationAttributeShrinkRequest extends $tea.Model { commandContent?: string; contentEncoding?: string; enableParameter?: boolean; frequency?: string; instanceId?: string[]; invokeId?: string; ownerAccount?: string; ownerId?: number; parametersShrink?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', contentEncoding: 'ContentEncoding', enableParameter: 'EnableParameter', frequency: 'Frequency', instanceId: 'InstanceId', invokeId: 'InvokeId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parametersShrink: 'Parameters', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { commandContent: 'string', contentEncoding: 'string', enableParameter: 'boolean', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, invokeId: 'string', ownerAccount: 'string', ownerId: 'number', parametersShrink: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInvocationAttributeResponseBody extends $tea.Model { commandId?: string; 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 ModifyInvocationAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyInvocationAttributeResponseBody; 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: ModifyInvocationAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyLaunchTemplateDefaultVersionRequest extends $tea.Model { defaultVersionNumber?: number; launchTemplateId?: string; launchTemplateName?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { defaultVersionNumber: 'DefaultVersionNumber', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { defaultVersionNumber: 'number', launchTemplateId: 'string', launchTemplateName: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyLaunchTemplateDefaultVersionResponseBody extends $tea.Model { launchTemplateId?: string; requestId?: string; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyLaunchTemplateDefaultVersionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyLaunchTemplateDefaultVersionResponseBody; 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: ModifyLaunchTemplateDefaultVersionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyManagedInstanceRequest extends $tea.Model { instanceId?: string; instanceName?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', instanceName: 'InstanceName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', instanceName: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyManagedInstanceResponseBody extends $tea.Model { instance?: ModifyManagedInstanceResponseBodyInstance; requestId?: string; static names(): { [key: string]: string } { return { instance: 'Instance', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instance: ModifyManagedInstanceResponseBodyInstance, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyManagedInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyManagedInstanceResponseBody; 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: ModifyManagedInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyNetworkInterfaceAttributeRequest extends $tea.Model { deleteOnRelease?: boolean; description?: string; networkInterfaceId?: string; networkInterfaceName?: string; ownerAccount?: string; ownerId?: number; queueNumber?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; rxQueueSize?: number; securityGroupId?: string[]; txQueueSize?: number; static names(): { [key: string]: string } { return { deleteOnRelease: 'DeleteOnRelease', description: 'Description', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', queueNumber: 'QueueNumber', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', rxQueueSize: 'RxQueueSize', securityGroupId: 'SecurityGroupId', txQueueSize: 'TxQueueSize', }; } static types(): { [key: string]: any } { return { deleteOnRelease: 'boolean', description: 'string', networkInterfaceId: 'string', networkInterfaceName: 'string', ownerAccount: 'string', ownerId: 'number', queueNumber: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', rxQueueSize: 'number', securityGroupId: { 'type': 'array', 'itemType': 'string' }, txQueueSize: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyNetworkInterfaceAttributeResponseBody 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 ModifyNetworkInterfaceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyNetworkInterfaceAttributeResponseBody; 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: ModifyNetworkInterfaceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPhysicalConnectionAttributeRequest extends $tea.Model { circuitCode?: string; clientToken?: string; description?: string; lineOperator?: string; name?: string; ownerAccount?: string; ownerId?: number; peerLocation?: string; physicalConnectionId?: string; portType?: string; redundantPhysicalConnectionId?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; bandwidth?: number; static names(): { [key: string]: string } { return { circuitCode: 'CircuitCode', clientToken: 'ClientToken', description: 'Description', lineOperator: 'LineOperator', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', peerLocation: 'PeerLocation', physicalConnectionId: 'PhysicalConnectionId', portType: 'PortType', redundantPhysicalConnectionId: 'RedundantPhysicalConnectionId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', bandwidth: 'bandwidth', }; } static types(): { [key: string]: any } { return { circuitCode: 'string', clientToken: 'string', description: 'string', lineOperator: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', peerLocation: 'string', physicalConnectionId: 'string', portType: 'string', redundantPhysicalConnectionId: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', bandwidth: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPhysicalConnectionAttributeResponseBody 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 ModifyPhysicalConnectionAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyPhysicalConnectionAttributeResponseBody; 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: ModifyPhysicalConnectionAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrefixListRequest extends $tea.Model { addEntry?: ModifyPrefixListRequestAddEntry[]; description?: string; ownerAccount?: string; ownerId?: number; prefixListId?: string; prefixListName?: string; regionId?: string; removeEntry?: ModifyPrefixListRequestRemoveEntry[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { addEntry: 'AddEntry', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', prefixListId: 'PrefixListId', prefixListName: 'PrefixListName', regionId: 'RegionId', removeEntry: 'RemoveEntry', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { addEntry: { 'type': 'array', 'itemType': ModifyPrefixListRequestAddEntry }, description: 'string', ownerAccount: 'string', ownerId: 'number', prefixListId: 'string', prefixListName: 'string', regionId: 'string', removeEntry: { 'type': 'array', 'itemType': ModifyPrefixListRequestRemoveEntry }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrefixListResponseBody 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 ModifyPrefixListResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyPrefixListResponseBody; 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: ModifyPrefixListResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrepayInstanceSpecRequest extends $tea.Model { systemDisk?: ModifyPrepayInstanceSpecRequestSystemDisk; autoPay?: boolean; clientToken?: string; disk?: ModifyPrepayInstanceSpecRequestDisk[]; endTime?: string; instanceId?: string; instanceType?: string; migrateAcrossZone?: boolean; modifyMode?: string; operatorType?: string; ownerAccount?: string; ownerId?: number; rebootTime?: string; rebootWhenFinished?: boolean; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoPay: 'AutoPay', clientToken: 'ClientToken', disk: 'Disk', endTime: 'EndTime', instanceId: 'InstanceId', instanceType: 'InstanceType', migrateAcrossZone: 'MigrateAcrossZone', modifyMode: 'ModifyMode', operatorType: 'OperatorType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', rebootTime: 'RebootTime', rebootWhenFinished: 'RebootWhenFinished', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { systemDisk: ModifyPrepayInstanceSpecRequestSystemDisk, autoPay: 'boolean', clientToken: 'string', disk: { 'type': 'array', 'itemType': ModifyPrepayInstanceSpecRequestDisk }, endTime: 'string', instanceId: 'string', instanceType: 'string', migrateAcrossZone: 'boolean', modifyMode: 'string', operatorType: 'string', ownerAccount: 'string', ownerId: 'number', rebootTime: 'string', rebootWhenFinished: 'boolean', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrepayInstanceSpecResponseBody extends $tea.Model { orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrepayInstanceSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyPrepayInstanceSpecResponseBody; 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: ModifyPrepayInstanceSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstanceAttributeRequest extends $tea.Model { description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; reservedInstanceId?: string; reservedInstanceName?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', reservedInstanceName: 'ReservedInstanceName', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', reservedInstanceId: 'string', reservedInstanceName: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstanceAttributeResponseBody extends $tea.Model { code?: string; httpStatusCode?: number; message?: string; requestId?: string; static names(): { [key: string]: string } { return { code: 'Code', httpStatusCode: 'HttpStatusCode', message: 'Message', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { code: 'string', httpStatusCode: 'number', message: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstanceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyReservedInstanceAttributeResponseBody; 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: ModifyReservedInstanceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstanceAutoRenewAttributeRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; renewalStatus?: string; reservedInstanceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', renewalStatus: 'RenewalStatus', reservedInstanceId: 'ReservedInstanceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', renewalStatus: 'string', reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstanceAutoRenewAttributeResponseBody 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 ModifyReservedInstanceAutoRenewAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyReservedInstanceAutoRenewAttributeResponseBody; 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: ModifyReservedInstanceAutoRenewAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstancesRequest extends $tea.Model { configuration?: ModifyReservedInstancesRequestConfiguration[]; ownerAccount?: string; ownerId?: number; regionId?: string; reservedInstanceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { configuration: 'Configuration', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { configuration: { 'type': 'array', 'itemType': ModifyReservedInstancesRequestConfiguration }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstancesResponseBody extends $tea.Model { requestId?: string; reservedInstanceIdSets?: ModifyReservedInstancesResponseBodyReservedInstanceIdSets; static names(): { [key: string]: string } { return { requestId: 'RequestId', reservedInstanceIdSets: 'ReservedInstanceIdSets', }; } static types(): { [key: string]: any } { return { requestId: 'string', reservedInstanceIdSets: ModifyReservedInstancesResponseBodyReservedInstanceIdSets, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyReservedInstancesResponseBody; 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: ModifyReservedInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyRouterInterfaceAttributeRequest extends $tea.Model { description?: string; healthCheckSourceIp?: string; healthCheckTargetIp?: string; name?: string; oppositeInterfaceId?: string; oppositeInterfaceOwnerId?: number; oppositeRouterId?: string; oppositeRouterType?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; routerInterfaceId?: string; static names(): { [key: string]: string } { return { description: 'Description', healthCheckSourceIp: 'HealthCheckSourceIp', healthCheckTargetIp: 'HealthCheckTargetIp', name: 'Name', oppositeInterfaceId: 'OppositeInterfaceId', oppositeInterfaceOwnerId: 'OppositeInterfaceOwnerId', oppositeRouterId: 'OppositeRouterId', oppositeRouterType: 'OppositeRouterType', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', }; } static types(): { [key: string]: any } { return { description: 'string', healthCheckSourceIp: 'string', healthCheckTargetIp: 'string', name: 'string', oppositeInterfaceId: 'string', oppositeInterfaceOwnerId: 'number', oppositeRouterId: 'string', oppositeRouterType: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyRouterInterfaceAttributeResponseBody 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 ModifyRouterInterfaceAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyRouterInterfaceAttributeResponseBody; 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: ModifyRouterInterfaceAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyRouterInterfaceSpecRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; routerInterfaceId?: string; spec?: string; userCidr?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', routerInterfaceId: 'RouterInterfaceId', spec: 'Spec', userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { clientToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', routerInterfaceId: 'string', spec: 'string', userCidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyRouterInterfaceSpecResponseBody extends $tea.Model { requestId?: string; spec?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', spec: 'Spec', }; } static types(): { [key: string]: any } { return { requestId: 'string', spec: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyRouterInterfaceSpecResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyRouterInterfaceSpecResponseBody; 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: ModifyRouterInterfaceSpecResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupAttributeRequest extends $tea.Model { description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; securityGroupName?: string; static names(): { [key: string]: string } { return { description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', securityGroupName: 'SecurityGroupName', }; } static types(): { [key: string]: any } { return { description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupAttributeResponseBody 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 ModifySecurityGroupAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySecurityGroupAttributeResponseBody; 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: ModifySecurityGroupAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupEgressRuleRequest extends $tea.Model { 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; policy?: string; portRange?: string; priority?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; securityGroupRuleId?: string; sourceCidrIp?: string; 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', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', securityGroupRuleId: 'SecurityGroupRuleId', 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', policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupRuleId: 'string', sourceCidrIp: 'string', sourcePortRange: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupEgressRuleResponseBody 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 ModifySecurityGroupEgressRuleResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySecurityGroupEgressRuleResponseBody; 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: ModifySecurityGroupEgressRuleResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupPolicyRequest extends $tea.Model { clientToken?: string; innerAccessPolicy?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', innerAccessPolicy: 'InnerAccessPolicy', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', innerAccessPolicy: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupPolicyResponseBody 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 ModifySecurityGroupPolicyResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySecurityGroupPolicyResponseBody; 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: ModifySecurityGroupPolicyResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupRuleRequest extends $tea.Model { clientToken?: string; description?: string; destCidrIp?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; ownerAccount?: string; ownerId?: number; policy?: string; portRange?: string; priority?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; securityGroupRuleId?: string; sourceCidrIp?: string; sourceGroupId?: string; sourceGroupOwnerAccount?: string; sourceGroupOwnerId?: number; sourcePortRange?: string; 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', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityGroupId: 'SecurityGroupId', securityGroupRuleId: 'SecurityGroupRuleId', 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', policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupRuleId: 'string', sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupOwnerAccount: 'string', sourceGroupOwnerId: 'number', sourcePortRange: 'string', sourcePrefixListId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySecurityGroupRuleResponseBody 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 ModifySecurityGroupRuleResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySecurityGroupRuleResponseBody; 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: ModifySecurityGroupRuleResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySnapshotAttributeRequest extends $tea.Model { description?: string; disableInstantAccess?: boolean; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; retentionDays?: number; snapshotId?: string; snapshotName?: string; static names(): { [key: string]: string } { return { description: 'Description', disableInstantAccess: 'DisableInstantAccess', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', retentionDays: 'RetentionDays', snapshotId: 'SnapshotId', snapshotName: 'SnapshotName', }; } static types(): { [key: string]: any } { return { description: 'string', disableInstantAccess: 'boolean', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', retentionDays: 'number', snapshotId: 'string', snapshotName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySnapshotAttributeResponseBody 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 ModifySnapshotAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySnapshotAttributeResponseBody; 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: ModifySnapshotAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySnapshotGroupRequest extends $tea.Model { description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; snapshotGroupId?: string; static names(): { [key: string]: string } { return { description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotGroupId: 'SnapshotGroupId', }; } static types(): { [key: string]: any } { return { description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifySnapshotGroupResponseBody 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 ModifySnapshotGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifySnapshotGroupResponseBody; 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: ModifySnapshotGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyStorageCapacityUnitAttributeRequest extends $tea.Model { description?: string; name?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageCapacityUnitId?: string; static names(): { [key: string]: string } { return { description: 'Description', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageCapacityUnitId: 'StorageCapacityUnitId', }; } static types(): { [key: string]: any } { return { description: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageCapacityUnitId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyStorageCapacityUnitAttributeResponseBody 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 ModifyStorageCapacityUnitAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyStorageCapacityUnitAttributeResponseBody; 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: ModifyStorageCapacityUnitAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyStorageSetAttributeRequest extends $tea.Model { clientToken?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; storageSetId?: string; storageSetName?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', storageSetId: 'StorageSetId', storageSetName: 'StorageSetName', }; } static types(): { [key: string]: any } { return { clientToken: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', storageSetId: 'string', storageSetName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyStorageSetAttributeResponseBody 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 ModifyStorageSetAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyStorageSetAttributeResponseBody; 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: ModifyStorageSetAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyUserBusinessBehaviorRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; statusKey?: string; statusValue?: string; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', statusKey: 'statusKey', statusValue: 'statusValue', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', statusKey: 'string', statusValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyUserBusinessBehaviorResponseBody 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 ModifyUserBusinessBehaviorResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyUserBusinessBehaviorResponseBody; 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: ModifyUserBusinessBehaviorResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVRouterAttributeRequest extends $tea.Model { description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; VRouterId?: string; VRouterName?: string; static names(): { [key: string]: string } { return { description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', VRouterId: 'VRouterId', VRouterName: 'VRouterName', }; } static types(): { [key: string]: any } { return { description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', VRouterId: 'string', VRouterName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVRouterAttributeResponseBody 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 ModifyVRouterAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyVRouterAttributeResponseBody; 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: ModifyVRouterAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVSwitchAttributeRequest extends $tea.Model { description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; vSwitchId?: string; vSwitchName?: string; static names(): { [key: string]: string } { return { description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', vSwitchId: 'VSwitchId', vSwitchName: 'VSwitchName', }; } static types(): { [key: string]: any } { return { description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', vSwitchId: 'string', vSwitchName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVSwitchAttributeResponseBody 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 ModifyVSwitchAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyVSwitchAttributeResponseBody; 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: ModifyVSwitchAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVirtualBorderRouterAttributeRequest extends $tea.Model { circuitCode?: string; clientToken?: string; description?: string; localGatewayIp?: string; name?: string; ownerAccount?: string; ownerId?: number; peerGatewayIp?: string; peeringSubnetMask?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; vbrId?: string; 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', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', vbrId: 'VbrId', 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', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', vbrId: 'string', vlanId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVirtualBorderRouterAttributeResponseBody 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 ModifyVirtualBorderRouterAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyVirtualBorderRouterAttributeResponseBody; 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: ModifyVirtualBorderRouterAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVpcAttributeRequest extends $tea.Model { cidrBlock?: string; description?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; vpcId?: string; vpcName?: string; static names(): { [key: string]: string } { return { cidrBlock: 'CidrBlock', description: 'Description', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', userCidr: 'UserCidr', vpcId: 'VpcId', vpcName: 'VpcName', }; } static types(): { [key: string]: any } { return { cidrBlock: 'string', description: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', userCidr: 'string', vpcId: 'string', vpcName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyVpcAttributeResponseBody 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 ModifyVpcAttributeResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ModifyVpcAttributeResponseBody; 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: ModifyVpcAttributeResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseReservedInstancesOfferingRequest extends $tea.Model { autoRenew?: boolean; autoRenewPeriod?: number; clientToken?: string; description?: string; instanceAmount?: number; instanceType?: string; offeringType?: string; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; platform?: string; regionId?: string; reservedInstanceName?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; scope?: string; tag?: PurchaseReservedInstancesOfferingRequestTag[]; zoneId?: string; static names(): { [key: string]: string } { return { autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', clientToken: 'ClientToken', description: 'Description', instanceAmount: 'InstanceAmount', instanceType: 'InstanceType', offeringType: 'OfferingType', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', platform: 'Platform', regionId: 'RegionId', reservedInstanceName: 'ReservedInstanceName', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', scope: 'Scope', tag: 'Tag', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { autoRenew: 'boolean', autoRenewPeriod: 'number', clientToken: 'string', description: 'string', instanceAmount: 'number', instanceType: 'string', offeringType: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', platform: 'string', regionId: 'string', reservedInstanceName: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', scope: 'string', tag: { 'type': 'array', 'itemType': PurchaseReservedInstancesOfferingRequestTag }, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseReservedInstancesOfferingResponseBody extends $tea.Model { requestId?: string; reservedInstanceIdSets?: PurchaseReservedInstancesOfferingResponseBodyReservedInstanceIdSets; static names(): { [key: string]: string } { return { requestId: 'RequestId', reservedInstanceIdSets: 'ReservedInstanceIdSets', }; } static types(): { [key: string]: any } { return { requestId: 'string', reservedInstanceIdSets: PurchaseReservedInstancesOfferingResponseBodyReservedInstanceIdSets, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseReservedInstancesOfferingResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: PurchaseReservedInstancesOfferingResponseBody; 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: PurchaseReservedInstancesOfferingResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseStorageCapacityUnitRequest extends $tea.Model { amount?: number; capacity?: number; clientToken?: string; description?: string; fromApp?: string; name?: string; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; tag?: PurchaseStorageCapacityUnitRequestTag[]; static names(): { [key: string]: string } { return { amount: 'Amount', capacity: 'Capacity', clientToken: 'ClientToken', description: 'Description', fromApp: 'FromApp', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', tag: 'Tag', }; } static types(): { [key: string]: any } { return { amount: 'number', capacity: 'number', clientToken: 'string', description: 'string', fromApp: 'string', name: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', tag: { 'type': 'array', 'itemType': PurchaseStorageCapacityUnitRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseStorageCapacityUnitResponseBody extends $tea.Model { orderId?: string; requestId?: string; storageCapacityUnitIds?: PurchaseStorageCapacityUnitResponseBodyStorageCapacityUnitIds; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', storageCapacityUnitIds: 'StorageCapacityUnitIds', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', storageCapacityUnitIds: PurchaseStorageCapacityUnitResponseBodyStorageCapacityUnitIds, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseStorageCapacityUnitResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: PurchaseStorageCapacityUnitResponseBody; 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: PurchaseStorageCapacityUnitResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReActivateInstancesRequest extends $tea.Model { instanceId?: string; ownerAccount?: string; ownerId?: number; 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 ReActivateInstancesResponseBody 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 ReActivateInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReActivateInstancesResponseBody; 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: ReActivateInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReInitDiskRequest extends $tea.Model { autoStartInstance?: boolean; diskId?: string; keyPairName?: string; ownerAccount?: string; ownerId?: number; password?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityEnhancementStrategy?: string; static names(): { [key: string]: string } { return { autoStartInstance: 'AutoStartInstance', diskId: 'DiskId', keyPairName: 'KeyPairName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', password: 'Password', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', }; } static types(): { [key: string]: any } { return { autoStartInstance: 'boolean', diskId: 'string', keyPairName: 'string', ownerAccount: 'string', ownerId: 'number', password: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityEnhancementStrategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReInitDiskResponseBody 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 ReInitDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReInitDiskResponseBody; 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: ReInitDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstanceRequest extends $tea.Model { dryRun?: boolean; forceStop?: boolean; instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dryRun: 'DryRun', forceStop: 'ForceStop', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dryRun: 'boolean', forceStop: 'boolean', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstanceResponseBody 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 RebootInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RebootInstanceResponseBody; 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: RebootInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstancesRequest extends $tea.Model { batchOptimization?: string; dryRun?: boolean; forceReboot?: boolean; instanceId?: string[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { batchOptimization: 'BatchOptimization', dryRun: 'DryRun', forceReboot: 'ForceReboot', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { batchOptimization: 'string', dryRun: 'boolean', forceReboot: 'boolean', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstancesResponseBody extends $tea.Model { instanceResponses?: RebootInstancesResponseBodyInstanceResponses; requestId?: string; static names(): { [key: string]: string } { return { instanceResponses: 'InstanceResponses', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceResponses: RebootInstancesResponseBodyInstanceResponses, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RebootInstancesResponseBody; 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: RebootInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RecoverVirtualBorderRouterRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; 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 RecoverVirtualBorderRouterResponseBody 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 RecoverVirtualBorderRouterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RecoverVirtualBorderRouterResponseBody; 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: RecoverVirtualBorderRouterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RedeployDedicatedHostRequest extends $tea.Model { dedicatedHostId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dedicatedHostId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RedeployDedicatedHostResponseBody 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 RedeployDedicatedHostResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RedeployDedicatedHostResponseBody; 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: RedeployDedicatedHostResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RedeployInstanceRequest extends $tea.Model { forceStop?: boolean; instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { forceStop: 'ForceStop', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { forceStop: 'boolean', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RedeployInstanceResponseBody 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 RedeployInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RedeployInstanceResponseBody; 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: RedeployInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseCapacityReservationRequest extends $tea.Model { privatePoolOptions?: ReleaseCapacityReservationRequestPrivatePoolOptions; dryRun?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: ReleaseCapacityReservationRequestPrivatePoolOptions, dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseCapacityReservationResponseBody 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 ReleaseCapacityReservationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReleaseCapacityReservationResponseBody; 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: ReleaseCapacityReservationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseDedicatedHostRequest extends $tea.Model { dedicatedHostId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dedicatedHostId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseDedicatedHostResponseBody 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 ReleaseDedicatedHostResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReleaseDedicatedHostResponseBody; 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: ReleaseDedicatedHostResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseEipAddressRequest extends $tea.Model { allocationId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { allocationId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseEipAddressResponseBody 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 ReleaseEipAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReleaseEipAddressResponseBody; 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: ReleaseEipAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleasePublicIpAddressRequest extends $tea.Model { dryRun?: boolean; instanceId?: string; publicIpAddress?: string; regionId?: string; static names(): { [key: string]: string } { return { dryRun: 'DryRun', instanceId: 'InstanceId', publicIpAddress: 'PublicIpAddress', regionId: 'RegionId', }; } static types(): { [key: string]: any } { return { dryRun: 'boolean', instanceId: 'string', publicIpAddress: 'string', regionId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleasePublicIpAddressResponseBody extends $tea.Model { remainTimes?: string; requestId?: string; static names(): { [key: string]: string } { return { remainTimes: 'RemainTimes', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { remainTimes: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleasePublicIpAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReleasePublicIpAddressResponseBody; 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: ReleasePublicIpAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RemoveBandwidthPackageIpsRequest extends $tea.Model { bandwidthPackageId?: string; clientToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; removedIpAddresses?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', removedIpAddresses: 'RemovedIpAddresses', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: 'string', clientToken: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', removedIpAddresses: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RemoveBandwidthPackageIpsResponseBody 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 RemoveBandwidthPackageIpsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RemoveBandwidthPackageIpsResponseBody; 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: RemoveBandwidthPackageIpsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RemoveTagsRequest extends $tea.Model { ownerId?: number; regionId?: string; resourceId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; tag?: RemoveTagsRequestTag[]; 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': RemoveTagsRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RemoveTagsResponseBody 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 RemoveTagsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RemoveTagsResponseBody; 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: RemoveTagsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewDedicatedHostsRequest extends $tea.Model { clientToken?: string; dedicatedHostIds?: string; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', dedicatedHostIds: 'DedicatedHostIds', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', dedicatedHostIds: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewDedicatedHostsResponseBody 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 RenewDedicatedHostsResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RenewDedicatedHostsResponseBody; 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: RenewDedicatedHostsResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewInstanceRequest extends $tea.Model { clientToken?: string; expectedRenewDay?: number; instanceId?: string; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', expectedRenewDay: 'ExpectedRenewDay', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', expectedRenewDay: 'number', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewInstanceResponseBody extends $tea.Model { orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RenewInstanceResponseBody; 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: RenewInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewReservedInstancesRequest extends $tea.Model { autoRenew?: boolean; autoRenewPeriod?: number; clientToken?: string; ownerAccount?: string; ownerId?: number; period?: number; periodUnit?: string; regionId?: string; reservedInstanceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', clientToken: 'ClientToken', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', period: 'Period', periodUnit: 'PeriodUnit', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { autoRenew: 'boolean', autoRenewPeriod: 'number', clientToken: 'string', ownerAccount: 'string', ownerId: 'number', period: 'number', periodUnit: 'string', regionId: 'string', reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewReservedInstancesResponseBody extends $tea.Model { orderId?: string; requestId?: string; reservedInstanceIdSets?: RenewReservedInstancesResponseBodyReservedInstanceIdSets; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', reservedInstanceIdSets: 'ReservedInstanceIdSets', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', reservedInstanceIdSets: RenewReservedInstancesResponseBodyReservedInstanceIdSets, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewReservedInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RenewReservedInstancesResponseBody; 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: RenewReservedInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReplaceSystemDiskRequest extends $tea.Model { systemDisk?: ReplaceSystemDiskRequestSystemDisk; architecture?: string; arn?: ReplaceSystemDiskRequestArn[]; clientToken?: string; diskId?: string; encryptAlgorithm?: string; encrypted?: boolean; imageId?: string; instanceId?: string; KMSKeyId?: string; keyPairName?: string; ownerAccount?: string; ownerId?: number; password?: string; passwordInherit?: boolean; platform?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityEnhancementStrategy?: string; useAdditionalService?: boolean; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', architecture: 'Architecture', arn: 'Arn', clientToken: 'ClientToken', diskId: 'DiskId', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', imageId: 'ImageId', instanceId: 'InstanceId', KMSKeyId: 'KMSKeyId', keyPairName: 'KeyPairName', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', password: 'Password', passwordInherit: 'PasswordInherit', platform: 'Platform', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', useAdditionalService: 'UseAdditionalService', }; } static types(): { [key: string]: any } { return { systemDisk: ReplaceSystemDiskRequestSystemDisk, architecture: 'string', arn: { 'type': 'array', 'itemType': ReplaceSystemDiskRequestArn }, clientToken: 'string', diskId: 'string', encryptAlgorithm: 'string', encrypted: 'boolean', imageId: 'string', instanceId: 'string', KMSKeyId: 'string', keyPairName: 'string', ownerAccount: 'string', ownerId: 'number', password: 'string', passwordInherit: 'boolean', platform: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityEnhancementStrategy: 'string', useAdditionalService: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReplaceSystemDiskResponseBody extends $tea.Model { diskId?: string; requestId?: string; static names(): { [key: string]: string } { return { diskId: 'DiskId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { diskId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReplaceSystemDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReplaceSystemDiskResponseBody; 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: ReplaceSystemDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReportInstancesStatusRequest extends $tea.Model { description?: string; device?: string[]; diskId?: string[]; endTime?: string; instanceId?: string[]; issueCategory?: string; ownerAccount?: string; ownerId?: number; reason?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; startTime?: string; static names(): { [key: string]: string } { return { description: 'Description', device: 'Device', diskId: 'DiskId', endTime: 'EndTime', instanceId: 'InstanceId', issueCategory: 'IssueCategory', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', reason: 'Reason', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { description: 'string', device: { 'type': 'array', 'itemType': 'string' }, diskId: { 'type': 'array', 'itemType': 'string' }, endTime: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, issueCategory: 'string', ownerAccount: 'string', ownerId: 'number', reason: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReportInstancesStatusResponseBody 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 ReportInstancesStatusResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ReportInstancesStatusResponseBody; 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: ReportInstancesStatusResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDiskRequest extends $tea.Model { diskId?: string; dryRun?: boolean; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; snapshotId?: string; static names(): { [key: string]: string } { return { diskId: 'DiskId', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { diskId: 'string', dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDiskResponseBody 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 ResetDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ResetDiskResponseBody; 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: ResetDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksRequest extends $tea.Model { disk?: ResetDisksRequestDisk[]; dryRun?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { disk: 'Disk', dryRun: 'DryRun', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { disk: { 'type': 'array', 'itemType': ResetDisksRequestDisk }, dryRun: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponseBody extends $tea.Model { operationProgressSet?: ResetDisksResponseBodyOperationProgressSet; requestId?: string; static names(): { [key: string]: string } { return { operationProgressSet: 'OperationProgressSet', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { operationProgressSet: ResetDisksResponseBodyOperationProgressSet, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ResetDisksResponseBody; 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: ResetDisksResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResizeDiskRequest extends $tea.Model { clientToken?: string; diskId?: string; newSize?: number; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; type?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', diskId: 'DiskId', newSize: 'NewSize', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', type: 'Type', }; } static types(): { [key: string]: any } { return { clientToken: 'string', diskId: 'string', newSize: 'number', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResizeDiskResponseBody extends $tea.Model { orderId?: string; requestId?: string; static names(): { [key: string]: string } { return { orderId: 'OrderId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { orderId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResizeDiskResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: ResizeDiskResponseBody; 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: ResizeDiskResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupRequest extends $tea.Model { clientToken?: string; description?: string; destCidrIp?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; ownerAccount?: string; ownerId?: number; permissions?: RevokeSecurityGroupRequestPermissions[]; policy?: string; portRange?: string; priority?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; securityGroupRuleId?: string[]; sourceCidrIp?: string; sourceGroupId?: string; sourceGroupOwnerAccount?: string; sourceGroupOwnerId?: number; sourcePortRange?: string; 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', securityGroupRuleId: 'SecurityGroupRuleId', 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': RevokeSecurityGroupRequestPermissions }, policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupRuleId: { 'type': 'array', 'itemType': 'string' }, sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupOwnerAccount: 'string', sourceGroupOwnerId: 'number', sourcePortRange: 'string', sourcePrefixListId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupResponseBody 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 RevokeSecurityGroupResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RevokeSecurityGroupResponseBody; 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: RevokeSecurityGroupResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupEgressRequest extends $tea.Model { 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?: RevokeSecurityGroupEgressRequestPermissions[]; policy?: string; portRange?: string; priority?: string; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; securityGroupId?: string; securityGroupRuleId?: string[]; sourceCidrIp?: string; 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', securityGroupRuleId: 'SecurityGroupRuleId', 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': RevokeSecurityGroupEgressRequestPermissions }, policy: 'string', portRange: 'string', priority: 'string', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', securityGroupId: 'string', securityGroupRuleId: { 'type': 'array', 'itemType': 'string' }, sourceCidrIp: 'string', sourcePortRange: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupEgressResponseBody 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 RevokeSecurityGroupEgressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RevokeSecurityGroupEgressResponseBody; 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: RevokeSecurityGroupEgressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandRequest extends $tea.Model { clientToken?: string; commandContent?: string; containerId?: string; containerName?: string; contentEncoding?: string; description?: string; enableParameter?: boolean; frequency?: string; instanceId?: string[]; keepCommand?: boolean; name?: string; ownerAccount?: string; ownerId?: number; parameters?: { [key: string]: any }; regionId?: string; repeatMode?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceTag?: RunCommandRequestResourceTag[]; tag?: RunCommandRequestTag[]; timed?: boolean; timeout?: number; type?: string; username?: string; windowsPasswordName?: string; workingDir?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', commandContent: 'CommandContent', containerId: 'ContainerId', containerName: 'ContainerName', contentEncoding: 'ContentEncoding', description: 'Description', enableParameter: 'EnableParameter', frequency: 'Frequency', instanceId: 'InstanceId', keepCommand: 'KeepCommand', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parameters: 'Parameters', regionId: 'RegionId', repeatMode: 'RepeatMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceTag: 'ResourceTag', tag: 'Tag', timed: 'Timed', timeout: 'Timeout', type: 'Type', username: 'Username', windowsPasswordName: 'WindowsPasswordName', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { clientToken: 'string', commandContent: 'string', containerId: 'string', containerName: 'string', contentEncoding: 'string', description: 'string', enableParameter: 'boolean', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, keepCommand: 'boolean', name: 'string', ownerAccount: 'string', ownerId: 'number', parameters: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' }, regionId: 'string', repeatMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceTag: { 'type': 'array', 'itemType': RunCommandRequestResourceTag }, tag: { 'type': 'array', 'itemType': RunCommandRequestTag }, timed: 'boolean', timeout: 'number', type: 'string', username: 'string', windowsPasswordName: 'string', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandShrinkRequest extends $tea.Model { clientToken?: string; commandContent?: string; containerId?: string; containerName?: string; contentEncoding?: string; description?: string; enableParameter?: boolean; frequency?: string; instanceId?: string[]; keepCommand?: boolean; name?: string; ownerAccount?: string; ownerId?: number; parametersShrink?: string; regionId?: string; repeatMode?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceTag?: RunCommandShrinkRequestResourceTag[]; tag?: RunCommandShrinkRequestTag[]; timed?: boolean; timeout?: number; type?: string; username?: string; windowsPasswordName?: string; workingDir?: string; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', commandContent: 'CommandContent', containerId: 'ContainerId', containerName: 'ContainerName', contentEncoding: 'ContentEncoding', description: 'Description', enableParameter: 'EnableParameter', frequency: 'Frequency', instanceId: 'InstanceId', keepCommand: 'KeepCommand', name: 'Name', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', parametersShrink: 'Parameters', regionId: 'RegionId', repeatMode: 'RepeatMode', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceTag: 'ResourceTag', tag: 'Tag', timed: 'Timed', timeout: 'Timeout', type: 'Type', username: 'Username', windowsPasswordName: 'WindowsPasswordName', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { clientToken: 'string', commandContent: 'string', containerId: 'string', containerName: 'string', contentEncoding: 'string', description: 'string', enableParameter: 'boolean', frequency: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, keepCommand: 'boolean', name: 'string', ownerAccount: 'string', ownerId: 'number', parametersShrink: 'string', regionId: 'string', repeatMode: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceTag: { 'type': 'array', 'itemType': RunCommandShrinkRequestResourceTag }, tag: { 'type': 'array', 'itemType': RunCommandShrinkRequestTag }, timed: 'boolean', timeout: 'number', type: 'string', username: 'string', windowsPasswordName: 'string', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandResponseBody extends $tea.Model { commandId?: string; invokeId?: string; requestId?: string; static names(): { [key: string]: string } { return { commandId: 'CommandId', invokeId: 'InvokeId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { commandId: 'string', invokeId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RunCommandResponseBody; 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: RunCommandResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequest extends $tea.Model { cpuOptions?: RunInstancesRequestCpuOptions; hibernationOptions?: RunInstancesRequestHibernationOptions; privatePoolOptions?: RunInstancesRequestPrivatePoolOptions; schedulerOptions?: RunInstancesRequestSchedulerOptions; securityOptions?: RunInstancesRequestSecurityOptions; systemDisk?: RunInstancesRequestSystemDisk; affinity?: string; amount?: number; arn?: RunInstancesRequestArn[]; autoPay?: boolean; autoReleaseTime?: string; autoRenew?: boolean; autoRenewPeriod?: number; clientToken?: string; creditSpecification?: string; dataDisk?: RunInstancesRequestDataDisk[]; dedicatedHostId?: string; deletionProtection?: boolean; deploymentSetGroupNo?: number; deploymentSetId?: string; description?: string; dryRun?: boolean; hostName?: string; hostNames?: string[]; hpcClusterId?: string; httpEndpoint?: string; httpPutResponseHopLimit?: number; httpTokens?: string; imageFamily?: string; imageId?: string; imageOptions?: RunInstancesRequestImageOptions; instanceChargeType?: string; instanceName?: string; instanceType?: string; internetChargeType?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; ioOptimized?: string; ipv6Address?: string[]; ipv6AddressCount?: number; isp?: string; keyPairName?: string; launchTemplateId?: string; launchTemplateName?: string; launchTemplateVersion?: number; minAmount?: number; networkInterface?: RunInstancesRequestNetworkInterface[]; networkInterfaceQueueNumber?: number; networkOptions?: RunInstancesRequestNetworkOptions; 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; securityGroupIds?: string[]; spotDuration?: number; spotInterruptionBehavior?: string; spotPriceLimit?: number; spotStrategy?: string; storageSetId?: string; storageSetPartitionNumber?: number; tag?: RunInstancesRequestTag[]; tenancy?: string; uniqueSuffix?: boolean; userData?: string; vSwitchId?: string; zoneId?: string; static names(): { [key: string]: string } { return { cpuOptions: 'CpuOptions', hibernationOptions: 'HibernationOptions', privatePoolOptions: 'PrivatePoolOptions', schedulerOptions: 'SchedulerOptions', securityOptions: 'SecurityOptions', systemDisk: 'SystemDisk', affinity: 'Affinity', amount: 'Amount', arn: 'Arn', autoPay: 'AutoPay', autoReleaseTime: 'AutoReleaseTime', autoRenew: 'AutoRenew', autoRenewPeriod: 'AutoRenewPeriod', clientToken: 'ClientToken', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', dedicatedHostId: 'DedicatedHostId', deletionProtection: 'DeletionProtection', deploymentSetGroupNo: 'DeploymentSetGroupNo', deploymentSetId: 'DeploymentSetId', description: 'Description', dryRun: 'DryRun', hostName: 'HostName', hostNames: 'HostNames', hpcClusterId: 'HpcClusterId', httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', imageFamily: 'ImageFamily', imageId: 'ImageId', imageOptions: 'ImageOptions', instanceChargeType: 'InstanceChargeType', instanceName: 'InstanceName', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', ipv6Address: 'Ipv6Address', ipv6AddressCount: 'Ipv6AddressCount', isp: 'Isp', keyPairName: 'KeyPairName', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', launchTemplateVersion: 'LaunchTemplateVersion', minAmount: 'MinAmount', networkInterface: 'NetworkInterface', networkInterfaceQueueNumber: 'NetworkInterfaceQueueNumber', networkOptions: 'NetworkOptions', 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', securityGroupIds: 'SecurityGroupIds', spotDuration: 'SpotDuration', spotInterruptionBehavior: 'SpotInterruptionBehavior', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', tag: 'Tag', tenancy: 'Tenancy', uniqueSuffix: 'UniqueSuffix', userData: 'UserData', vSwitchId: 'VSwitchId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { cpuOptions: RunInstancesRequestCpuOptions, hibernationOptions: RunInstancesRequestHibernationOptions, privatePoolOptions: RunInstancesRequestPrivatePoolOptions, schedulerOptions: RunInstancesRequestSchedulerOptions, securityOptions: RunInstancesRequestSecurityOptions, systemDisk: RunInstancesRequestSystemDisk, affinity: 'string', amount: 'number', arn: { 'type': 'array', 'itemType': RunInstancesRequestArn }, autoPay: 'boolean', autoReleaseTime: 'string', autoRenew: 'boolean', autoRenewPeriod: 'number', clientToken: 'string', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': RunInstancesRequestDataDisk }, dedicatedHostId: 'string', deletionProtection: 'boolean', deploymentSetGroupNo: 'number', deploymentSetId: 'string', description: 'string', dryRun: 'boolean', hostName: 'string', hostNames: { 'type': 'array', 'itemType': 'string' }, hpcClusterId: 'string', httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', imageFamily: 'string', imageId: 'string', imageOptions: RunInstancesRequestImageOptions, instanceChargeType: 'string', instanceName: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', ipv6Address: { 'type': 'array', 'itemType': 'string' }, ipv6AddressCount: 'number', isp: 'string', keyPairName: 'string', launchTemplateId: 'string', launchTemplateName: 'string', launchTemplateVersion: 'number', minAmount: 'number', networkInterface: { 'type': 'array', 'itemType': RunInstancesRequestNetworkInterface }, networkInterfaceQueueNumber: 'number', networkOptions: RunInstancesRequestNetworkOptions, 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', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, spotDuration: 'number', spotInterruptionBehavior: 'string', spotPriceLimit: 'number', spotStrategy: 'string', storageSetId: 'string', storageSetPartitionNumber: 'number', tag: { 'type': 'array', 'itemType': RunInstancesRequestTag }, tenancy: 'string', uniqueSuffix: 'boolean', userData: 'string', vSwitchId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesResponseBody extends $tea.Model { instanceIdSets?: RunInstancesResponseBodyInstanceIdSets; orderId?: string; requestId?: string; tradePrice?: number; static names(): { [key: string]: string } { return { instanceIdSets: 'InstanceIdSets', orderId: 'OrderId', requestId: 'RequestId', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { instanceIdSets: RunInstancesResponseBodyInstanceIdSets, orderId: 'string', requestId: 'string', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: RunInstancesResponseBody; 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: RunInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class SendFileRequest extends $tea.Model { content?: string; contentType?: string; description?: string; fileGroup?: string; fileMode?: string; fileOwner?: string; instanceId?: string[]; name?: string; overwrite?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceGroupId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; tag?: SendFileRequestTag[]; targetDir?: string; timeout?: number; static names(): { [key: string]: string } { return { content: 'Content', contentType: 'ContentType', description: 'Description', fileGroup: 'FileGroup', fileMode: 'FileMode', fileOwner: 'FileOwner', instanceId: 'InstanceId', name: 'Name', overwrite: 'Overwrite', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', tag: 'Tag', targetDir: 'TargetDir', timeout: 'Timeout', }; } static types(): { [key: string]: any } { return { content: 'string', contentType: 'string', description: 'string', fileGroup: 'string', fileMode: 'string', fileOwner: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, name: 'string', overwrite: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceGroupId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', tag: { 'type': 'array', 'itemType': SendFileRequestTag }, targetDir: 'string', timeout: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class SendFileResponseBody extends $tea.Model { invokeId?: string; requestId?: string; static names(): { [key: string]: string } { return { invokeId: 'InvokeId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { invokeId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class SendFileResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: SendFileResponseBody; 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: SendFileResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartElasticityAssuranceRequest extends $tea.Model { privatePoolOptions?: StartElasticityAssuranceRequestPrivatePoolOptions; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { privatePoolOptions: 'PrivatePoolOptions', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { privatePoolOptions: StartElasticityAssuranceRequestPrivatePoolOptions, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartElasticityAssuranceResponseBody 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 StartElasticityAssuranceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StartElasticityAssuranceResponseBody; 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: StartElasticityAssuranceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartImagePipelineExecutionRequest extends $tea.Model { clientToken?: string; imagePipelineId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; templateTag?: StartImagePipelineExecutionRequestTemplateTag[]; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', imagePipelineId: 'ImagePipelineId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', templateTag: 'TemplateTag', }; } static types(): { [key: string]: any } { return { clientToken: 'string', imagePipelineId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', templateTag: { 'type': 'array', 'itemType': StartImagePipelineExecutionRequestTemplateTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartImagePipelineExecutionResponseBody extends $tea.Model { executionId?: string; requestId?: string; static names(): { [key: string]: string } { return { executionId: 'ExecutionId', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { executionId: 'string', requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartImagePipelineExecutionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StartImagePipelineExecutionResponseBody; 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: StartImagePipelineExecutionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstanceRequest extends $tea.Model { dryRun?: boolean; initLocalDisk?: boolean; instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { dryRun: 'DryRun', initLocalDisk: 'InitLocalDisk', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { dryRun: 'boolean', initLocalDisk: 'boolean', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstanceResponseBody 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 StartInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StartInstanceResponseBody; 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: StartInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstancesRequest extends $tea.Model { batchOptimization?: string; dryRun?: boolean; instanceId?: string[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { batchOptimization: 'BatchOptimization', dryRun: 'DryRun', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { batchOptimization: 'string', dryRun: 'boolean', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstancesResponseBody extends $tea.Model { instanceResponses?: StartInstancesResponseBodyInstanceResponses; requestId?: string; static names(): { [key: string]: string } { return { instanceResponses: 'InstanceResponses', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceResponses: StartInstancesResponseBodyInstanceResponses, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StartInstancesResponseBody; 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: StartInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartTerminalSessionRequest extends $tea.Model { commandLine?: string; instanceId?: string[]; ownerAccount?: string; ownerId?: number; portNumber?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; targetServer?: string; username?: string; static names(): { [key: string]: string } { return { commandLine: 'CommandLine', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', portNumber: 'PortNumber', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', targetServer: 'TargetServer', username: 'Username', }; } static types(): { [key: string]: any } { return { commandLine: 'string', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', portNumber: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', targetServer: 'string', username: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartTerminalSessionResponseBody extends $tea.Model { requestId?: string; securityToken?: string; sessionId?: string; webSocketUrl?: string; static names(): { [key: string]: string } { return { requestId: 'RequestId', securityToken: 'SecurityToken', sessionId: 'SessionId', webSocketUrl: 'WebSocketUrl', }; } static types(): { [key: string]: any } { return { requestId: 'string', securityToken: 'string', sessionId: 'string', webSocketUrl: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartTerminalSessionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StartTerminalSessionResponseBody; 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: StartTerminalSessionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstanceRequest extends $tea.Model { confirmStop?: boolean; dryRun?: boolean; forceStop?: boolean; hibernate?: boolean; instanceId?: string; ownerAccount?: string; ownerId?: number; resourceOwnerAccount?: string; resourceOwnerId?: number; stoppedMode?: string; static names(): { [key: string]: string } { return { confirmStop: 'ConfirmStop', dryRun: 'DryRun', forceStop: 'ForceStop', hibernate: 'Hibernate', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', stoppedMode: 'StoppedMode', }; } static types(): { [key: string]: any } { return { confirmStop: 'boolean', dryRun: 'boolean', forceStop: 'boolean', hibernate: 'boolean', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', resourceOwnerAccount: 'string', resourceOwnerId: 'number', stoppedMode: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstanceResponseBody 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 StopInstanceResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StopInstanceResponseBody; 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: StopInstanceResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstancesRequest extends $tea.Model { batchOptimization?: string; dryRun?: boolean; forceStop?: boolean; instanceId?: string[]; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; stoppedMode?: string; static names(): { [key: string]: string } { return { batchOptimization: 'BatchOptimization', dryRun: 'DryRun', forceStop: 'ForceStop', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', stoppedMode: 'StoppedMode', }; } static types(): { [key: string]: any } { return { batchOptimization: 'string', dryRun: 'boolean', forceStop: 'boolean', instanceId: { 'type': 'array', 'itemType': 'string' }, ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', stoppedMode: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstancesResponseBody extends $tea.Model { instanceResponses?: StopInstancesResponseBodyInstanceResponses; requestId?: string; static names(): { [key: string]: string } { return { instanceResponses: 'InstanceResponses', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { instanceResponses: StopInstancesResponseBodyInstanceResponses, requestId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstancesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StopInstancesResponseBody; 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: StopInstancesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInvocationRequest extends $tea.Model { instanceId?: string[]; invokeId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', invokeId: 'InvokeId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, invokeId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInvocationResponseBody 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 StopInvocationResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: StopInvocationResponseBody; 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: StopInvocationResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class TagResourcesRequest extends $tea.Model { ownerAccount?: string; ownerId?: number; regionId?: string; resourceId?: string[]; resourceOwnerAccount?: string; resourceType?: string; tag?: TagResourcesRequestTag[]; static names(): { [key: string]: string } { return { ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceType: 'ResourceType', tag: 'Tag', }; } static types(): { [key: string]: any } { return { ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceType: 'string', tag: { 'type': 'array', 'itemType': TagResourcesRequestTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class TagResourcesResponseBody 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 TagResourcesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: TagResourcesResponseBody; 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: TagResourcesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class TerminatePhysicalConnectionRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; physicalConnectionId?: string; 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 TerminatePhysicalConnectionResponseBody 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 TerminatePhysicalConnectionResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: TerminatePhysicalConnectionResponseBody; 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: TerminatePhysicalConnectionResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class TerminateVirtualBorderRouterRequest extends $tea.Model { clientToken?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; userCidr?: string; 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 TerminateVirtualBorderRouterResponseBody 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 TerminateVirtualBorderRouterResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: TerminateVirtualBorderRouterResponseBody; 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: TerminateVirtualBorderRouterResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassignIpv6AddressesRequest extends $tea.Model { ipv6Address?: string[]; ipv6Prefix?: string[]; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', ipv6Prefix: 'Ipv6Prefix', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ipv6Address: { 'type': 'array', 'itemType': 'string' }, ipv6Prefix: { 'type': 'array', 'itemType': 'string' }, networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassignIpv6AddressesResponseBody 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 UnassignIpv6AddressesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: UnassignIpv6AddressesResponseBody; 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: UnassignIpv6AddressesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassignPrivateIpAddressesRequest extends $tea.Model { ipv4Prefix?: string[]; networkInterfaceId?: string; ownerAccount?: string; ownerId?: number; privateIpAddress?: string[]; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { ipv4Prefix: 'Ipv4Prefix', networkInterfaceId: 'NetworkInterfaceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { ipv4Prefix: { 'type': 'array', 'itemType': 'string' }, networkInterfaceId: 'string', ownerAccount: 'string', ownerId: 'number', privateIpAddress: { 'type': 'array', 'itemType': 'string' }, regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassignPrivateIpAddressesResponseBody 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 UnassignPrivateIpAddressesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: UnassignPrivateIpAddressesResponseBody; 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: UnassignPrivateIpAddressesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassociateEipAddressRequest extends $tea.Model { allocationId?: string; 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 UnassociateEipAddressResponseBody 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 UnassociateEipAddressResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: UnassociateEipAddressResponseBody; 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: UnassociateEipAddressResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassociateHaVipRequest extends $tea.Model { clientToken?: string; force?: string; haVipId?: string; instanceId?: string; ownerAccount?: string; ownerId?: number; regionId?: string; resourceOwnerAccount?: string; resourceOwnerId?: number; static names(): { [key: string]: string } { return { clientToken: 'ClientToken', force: 'Force', haVipId: 'HaVipId', instanceId: 'InstanceId', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', }; } static types(): { [key: string]: any } { return { clientToken: 'string', force: 'string', haVipId: 'string', instanceId: 'string', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceOwnerAccount: 'string', resourceOwnerId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UnassociateHaVipResponseBody 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 UnassociateHaVipResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: UnassociateHaVipResponseBody; 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: UnassociateHaVipResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UntagResourcesRequest extends $tea.Model { all?: boolean; ownerAccount?: string; ownerId?: number; regionId?: string; resourceId?: string[]; resourceOwnerAccount?: string; resourceOwnerId?: number; resourceType?: string; tagKey?: string[]; static names(): { [key: string]: string } { return { all: 'All', ownerAccount: 'OwnerAccount', ownerId: 'OwnerId', regionId: 'RegionId', resourceId: 'ResourceId', resourceOwnerAccount: 'ResourceOwnerAccount', resourceOwnerId: 'ResourceOwnerId', resourceType: 'ResourceType', tagKey: 'TagKey', }; } static types(): { [key: string]: any } { return { all: 'boolean', ownerAccount: 'string', ownerId: 'number', regionId: 'string', resourceId: { 'type': 'array', 'itemType': 'string' }, resourceOwnerAccount: 'string', resourceOwnerId: 'number', resourceType: 'string', tagKey: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class UntagResourcesResponseBody 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 UntagResourcesResponse extends $tea.Model { headers?: { [key: string]: string }; statusCode?: number; body?: UntagResourcesResponseBody; 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: UntagResourcesResponseBody, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AddTagsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsRequestNetworkAttributes extends $tea.Model { slbUdpTimeout?: number; udpTimeout?: number; static names(): { [key: string]: string } { return { slbUdpTimeout: 'SlbUdpTimeout', udpTimeout: 'UdpTimeout', }; } static types(): { [key: string]: any } { return { slbUdpTimeout: 'number', udpTimeout: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AllocateDedicatedHostsResponseBodyDedicatedHostIdSets extends $tea.Model { dedicatedHostId?: string[]; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', }; } static types(): { [key: string]: any } { return { dedicatedHostId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignIpv6AddressesResponseBodyIpv6PrefixSets extends $tea.Model { ipv6Prefix?: string[]; static names(): { [key: string]: string } { return { ipv6Prefix: 'Ipv6Prefix', }; } static types(): { [key: string]: any } { return { ipv6Prefix: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignIpv6AddressesResponseBodyIpv6Sets extends $tea.Model { ipv6Address?: string[]; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', }; } static types(): { [key: string]: any } { return { ipv6Address: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetIpv4PrefixSet extends $tea.Model { ipv4Prefixes?: string[]; static names(): { [key: string]: string } { return { ipv4Prefixes: 'Ipv4Prefixes', }; } static types(): { [key: string]: any } { return { ipv4Prefixes: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetPrivateIpSet extends $tea.Model { privateIpAddress?: string[]; static names(): { [key: string]: string } { return { privateIpAddress: 'PrivateIpAddress', }; } static types(): { [key: string]: any } { return { privateIpAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSet extends $tea.Model { ipv4PrefixSet?: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetIpv4PrefixSet; networkInterfaceId?: string; privateIpSet?: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetPrivateIpSet; static names(): { [key: string]: string } { return { ipv4PrefixSet: 'Ipv4PrefixSet', networkInterfaceId: 'NetworkInterfaceId', privateIpSet: 'PrivateIpSet', }; } static types(): { [key: string]: any } { return { ipv4PrefixSet: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetIpv4PrefixSet, networkInterfaceId: 'string', privateIpSet: AssignPrivateIpAddressesResponseBodyAssignedPrivateIpAddressesSetPrivateIpSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResultsAttachInstanceRamRoleResult extends $tea.Model { code?: string; instanceId?: string; message?: string; success?: boolean; static names(): { [key: string]: string } { return { code: 'Code', instanceId: 'InstanceId', message: 'Message', success: 'Success', }; } static types(): { [key: string]: any } { return { code: 'string', instanceId: 'string', message: 'string', success: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResults extends $tea.Model { attachInstanceRamRoleResult?: AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResultsAttachInstanceRamRoleResult[]; static names(): { [key: string]: string } { return { attachInstanceRamRoleResult: 'AttachInstanceRamRoleResult', }; } static types(): { [key: string]: any } { return { attachInstanceRamRoleResult: { 'type': 'array', 'itemType': AttachInstanceRamRoleResponseBodyAttachInstanceRamRoleResultsAttachInstanceRamRoleResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachKeyPairResponseBodyResultsResult extends $tea.Model { code?: string; instanceId?: string; message?: string; success?: string; static names(): { [key: string]: string } { return { code: 'Code', instanceId: 'InstanceId', message: 'Message', success: 'Success', }; } static types(): { [key: string]: any } { return { code: 'string', instanceId: 'string', message: 'string', success: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AttachKeyPairResponseBodyResults extends $tea.Model { result?: AttachKeyPairResponseBodyResultsResult[]; static names(): { [key: string]: string } { return { result: 'Result', }; } static types(): { [key: string]: any } { return { result: { 'type': 'array', 'itemType': AttachKeyPairResponseBodyResultsResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupRequestPermissions extends $tea.Model { description?: string; destCidrIp?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; policy?: string; portRange?: string; priority?: string; sourceCidrIp?: string; sourceGroupId?: string; sourceGroupOwnerAccount?: string; sourceGroupOwnerId?: number; sourcePortRange?: string; sourcePrefixListId?: string; static names(): { [key: string]: string } { return { description: 'Description', destCidrIp: 'DestCidrIp', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', sourceCidrIp: 'SourceCidrIp', sourceGroupId: 'SourceGroupId', sourceGroupOwnerAccount: 'SourceGroupOwnerAccount', sourceGroupOwnerId: 'SourceGroupOwnerId', sourcePortRange: 'SourcePortRange', sourcePrefixListId: 'SourcePrefixListId', }; } static types(): { [key: string]: any } { return { description: 'string', destCidrIp: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', policy: 'string', portRange: 'string', priority: 'string', sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupOwnerAccount: 'string', sourceGroupOwnerId: 'number', sourcePortRange: 'string', sourcePrefixListId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class AuthorizeSecurityGroupEgressRequestPermissions extends $tea.Model { description?: string; destCidrIp?: string; destGroupId?: string; destGroupOwnerAccount?: string; destGroupOwnerId?: number; destPrefixListId?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; policy?: string; portRange?: string; priority?: string; sourceCidrIp?: string; sourcePortRange?: string; static names(): { [key: string]: string } { return { description: 'Description', destCidrIp: 'DestCidrIp', destGroupId: 'DestGroupId', destGroupOwnerAccount: 'DestGroupOwnerAccount', destGroupOwnerId: 'DestGroupOwnerId', destPrefixListId: 'DestPrefixListId', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', sourceCidrIp: 'SourceCidrIp', sourcePortRange: 'SourcePortRange', }; } static types(): { [key: string]: any } { return { description: 'string', destCidrIp: 'string', destGroupId: 'string', destGroupOwnerAccount: 'string', destGroupOwnerId: 'number', destPrefixListId: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', policy: 'string', portRange: 'string', priority: 'string', sourceCidrIp: 'string', sourcePortRange: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CancelImagePipelineExecutionRequestTemplateTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopyImageRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopySnapshotRequestArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CopySnapshotRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateActivationRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchConfigurationArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchConfigurationDataDisk extends $tea.Model { category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encrypted?: boolean; kmsKeyId?: string; performanceLevel?: string; size?: number; snapshotId?: string; static names(): { [key: string]: string } { return { category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encrypted: 'Encrypted', kmsKeyId: 'KmsKeyId', performanceLevel: 'PerformanceLevel', size: 'Size', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encrypted: 'boolean', kmsKeyId: 'string', performanceLevel: 'string', size: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchConfigurationSystemDisk extends $tea.Model { encryptAlgorithm?: string; encrypted?: string; KMSKeyId?: string; static names(): { [key: string]: string } { return { encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', }; } static types(): { [key: string]: any } { return { encryptAlgorithm: 'string', encrypted: 'string', KMSKeyId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchConfigurationTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchConfiguration extends $tea.Model { arn?: CreateAutoProvisioningGroupRequestLaunchConfigurationArn[]; autoReleaseTime?: string; creditSpecification?: string; dataDisk?: CreateAutoProvisioningGroupRequestLaunchConfigurationDataDisk[]; deploymentSetId?: string; hostName?: string; hostNames?: string[]; imageFamily?: string; imageId?: string; instanceDescription?: string; instanceName?: string; internetChargeType?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; ioOptimized?: string; keyPairName?: string; password?: string; passwordInherit?: boolean; ramRoleName?: string; resourceGroupId?: string; securityEnhancementStrategy?: string; securityGroupId?: string; securityGroupIds?: string[]; systemDisk?: CreateAutoProvisioningGroupRequestLaunchConfigurationSystemDisk; systemDiskCategory?: string; systemDiskDescription?: string; systemDiskName?: string; systemDiskPerformanceLevel?: string; systemDiskSize?: number; tag?: CreateAutoProvisioningGroupRequestLaunchConfigurationTag[]; userData?: string; static names(): { [key: string]: string } { return { arn: 'Arn', autoReleaseTime: 'AutoReleaseTime', creditSpecification: 'CreditSpecification', dataDisk: 'DataDisk', deploymentSetId: 'DeploymentSetId', hostName: 'HostName', hostNames: 'HostNames', imageFamily: 'ImageFamily', imageId: 'ImageId', instanceDescription: 'InstanceDescription', instanceName: 'InstanceName', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', keyPairName: 'KeyPairName', password: 'Password', passwordInherit: 'PasswordInherit', ramRoleName: 'RamRoleName', resourceGroupId: 'ResourceGroupId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', systemDisk: 'SystemDisk', systemDiskCategory: 'SystemDiskCategory', systemDiskDescription: 'SystemDiskDescription', systemDiskName: 'SystemDiskName', systemDiskPerformanceLevel: 'SystemDiskPerformanceLevel', systemDiskSize: 'SystemDiskSize', tag: 'Tag', userData: 'UserData', }; } static types(): { [key: string]: any } { return { arn: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestLaunchConfigurationArn }, autoReleaseTime: 'string', creditSpecification: 'string', dataDisk: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestLaunchConfigurationDataDisk }, deploymentSetId: 'string', hostName: 'string', hostNames: { 'type': 'array', 'itemType': 'string' }, imageFamily: 'string', imageId: 'string', instanceDescription: 'string', instanceName: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', keyPairName: 'string', password: 'string', passwordInherit: 'boolean', ramRoleName: 'string', resourceGroupId: 'string', securityEnhancementStrategy: 'string', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, systemDisk: CreateAutoProvisioningGroupRequestLaunchConfigurationSystemDisk, systemDiskCategory: 'string', systemDiskDescription: 'string', systemDiskName: 'string', systemDiskPerformanceLevel: 'string', systemDiskSize: 'number', tag: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupRequestLaunchConfigurationTag }, userData: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestDataDiskConfig extends $tea.Model { diskCategory?: string; static names(): { [key: string]: string } { return { diskCategory: 'DiskCategory', }; } static types(): { [key: string]: any } { return { diskCategory: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestLaunchTemplateConfig extends $tea.Model { architectures?: string[]; burstablePerformance?: string; cores?: number[]; excludedInstanceTypes?: string[]; instanceFamilyLevel?: string; instanceType?: string; maxPrice?: number; maxQuantity?: number; memories?: number[]; priority?: number; vSwitchId?: string; weightedCapacity?: number; static names(): { [key: string]: string } { return { architectures: 'Architectures', burstablePerformance: 'BurstablePerformance', cores: 'Cores', excludedInstanceTypes: 'ExcludedInstanceTypes', instanceFamilyLevel: 'InstanceFamilyLevel', instanceType: 'InstanceType', maxPrice: 'MaxPrice', maxQuantity: 'MaxQuantity', memories: 'Memories', priority: 'Priority', vSwitchId: 'VSwitchId', weightedCapacity: 'WeightedCapacity', }; } static types(): { [key: string]: any } { return { architectures: { 'type': 'array', 'itemType': 'string' }, burstablePerformance: 'string', cores: { 'type': 'array', 'itemType': 'number' }, excludedInstanceTypes: { 'type': 'array', 'itemType': 'string' }, instanceFamilyLevel: 'string', instanceType: 'string', maxPrice: 'number', maxQuantity: 'number', memories: { 'type': 'array', 'itemType': 'number' }, priority: 'number', vSwitchId: 'string', weightedCapacity: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestSystemDiskConfig extends $tea.Model { diskCategory?: string; static names(): { [key: string]: string } { return { diskCategory: 'DiskCategory', }; } static types(): { [key: string]: any } { return { diskCategory: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResultInstanceIds extends $tea.Model { instanceId?: string[]; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResult extends $tea.Model { amount?: number; errorCode?: string; errorMsg?: string; instanceIds?: CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResultInstanceIds; instanceType?: string; spotStrategy?: string; zoneId?: string; static names(): { [key: string]: string } { return { amount: 'Amount', errorCode: 'ErrorCode', errorMsg: 'ErrorMsg', instanceIds: 'InstanceIds', instanceType: 'InstanceType', spotStrategy: 'SpotStrategy', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { amount: 'number', errorCode: 'string', errorMsg: 'string', instanceIds: CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResultInstanceIds, instanceType: 'string', spotStrategy: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoProvisioningGroupResponseBodyLaunchResults extends $tea.Model { launchResult?: CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResult[]; static names(): { [key: string]: string } { return { launchResult: 'LaunchResult', }; } static types(): { [key: string]: any } { return { launchResult: { 'type': 'array', 'itemType': CreateAutoProvisioningGroupResponseBodyLaunchResultsLaunchResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyRequestCopyEncryptionConfigurationArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyRequestCopyEncryptionConfiguration extends $tea.Model { arn?: CreateAutoSnapshotPolicyRequestCopyEncryptionConfigurationArn[]; encrypted?: boolean; KMSKeyId?: string; static names(): { [key: string]: string } { return { arn: 'Arn', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', }; } static types(): { [key: string]: any } { return { arn: { 'type': 'array', 'itemType': CreateAutoSnapshotPolicyRequestCopyEncryptionConfigurationArn }, encrypted: 'boolean', KMSKeyId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateAutoSnapshotPolicyRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCapacityReservationRequestPrivatePoolOptions extends $tea.Model { matchCriteria?: string; name?: string; static names(): { [key: string]: string } { return { matchCriteria: 'MatchCriteria', name: 'Name', }; } static types(): { [key: string]: any } { return { matchCriteria: 'string', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCapacityReservationRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateCommandRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDedicatedHostClusterRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiskRequestArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateDiskRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateElasticityAssuranceRequestPrivatePoolOptions extends $tea.Model { matchCriteria?: string; name?: string; static names(): { [key: string]: string } { return { matchCriteria: 'MatchCriteria', name: 'Name', }; } static types(): { [key: string]: any } { return { matchCriteria: 'string', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateElasticityAssuranceRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageRequestDiskDeviceMapping extends $tea.Model { device?: string; diskType?: string; size?: number; snapshotId?: string; static names(): { [key: string]: string } { return { device: 'Device', diskType: 'DiskType', size: 'Size', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { device: 'string', diskType: 'string', size: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImageComponentRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateImagePipelineRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestHibernationOptions extends $tea.Model { configured?: boolean; static names(): { [key: string]: string } { return { configured: 'Configured', }; } static types(): { [key: string]: any } { return { configured: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestPrivatePoolOptions extends $tea.Model { id?: string; matchCriteria?: string; static names(): { [key: string]: string } { return { id: 'Id', matchCriteria: 'MatchCriteria', }; } static types(): { [key: string]: any } { return { id: 'string', matchCriteria: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestSystemDisk extends $tea.Model { category?: string; description?: string; diskName?: string; performanceLevel?: string; size?: number; storageClusterId?: string; static names(): { [key: string]: string } { return { category: 'Category', description: 'Description', diskName: 'DiskName', performanceLevel: 'PerformanceLevel', size: 'Size', storageClusterId: 'StorageClusterId', }; } static types(): { [key: string]: any } { return { category: 'string', description: 'string', diskName: 'string', performanceLevel: 'string', size: 'number', storageClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestDataDisk extends $tea.Model { category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encryptAlgorithm?: string; encrypted?: boolean; KMSKeyId?: string; performanceLevel?: string; size?: number; snapshotId?: string; storageClusterId?: string; static names(): { [key: string]: string } { return { category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', performanceLevel: 'PerformanceLevel', size: 'Size', snapshotId: 'SnapshotId', storageClusterId: 'StorageClusterId', }; } static types(): { [key: string]: any } { return { category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encryptAlgorithm: 'string', encrypted: 'boolean', KMSKeyId: 'string', performanceLevel: 'string', size: 'number', snapshotId: 'string', storageClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateInstanceRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateKeyPairRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequestSystemDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; diskName?: string; encrypted?: string; iops?: number; performanceLevel?: string; provisionedIops?: number; size?: number; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', diskName: 'DiskName', encrypted: 'Encrypted', iops: 'Iops', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', diskName: 'string', encrypted: 'string', iops: 'number', performanceLevel: 'string', provisionedIops: 'number', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequestDataDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encrypted?: string; performanceLevel?: string; provisionedIops?: number; size?: number; snapshotId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encrypted: 'Encrypted', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encrypted: 'string', performanceLevel: 'string', provisionedIops: 'number', size: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequestNetworkInterface extends $tea.Model { description?: string; instanceType?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; primaryIpAddress?: string; securityGroupId?: string; securityGroupIds?: string[]; vSwitchId?: string; static names(): { [key: string]: string } { return { description: 'Description', instanceType: 'InstanceType', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', primaryIpAddress: 'PrimaryIpAddress', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { description: 'string', instanceType: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', primaryIpAddress: 'string', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateRequestTemplateTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionRequestSystemDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; diskName?: string; encrypted?: string; iops?: number; performanceLevel?: string; provisionedIops?: number; size?: number; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', diskName: 'DiskName', encrypted: 'Encrypted', iops: 'Iops', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', diskName: 'string', encrypted: 'string', iops: 'number', performanceLevel: 'string', provisionedIops: 'number', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionRequestDataDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encrypted?: string; performanceLevel?: string; provisionedIops?: number; size?: number; snapshotId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encrypted: 'Encrypted', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encrypted: 'string', performanceLevel: 'string', provisionedIops: 'number', size: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionRequestNetworkInterface extends $tea.Model { description?: string; instanceType?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; primaryIpAddress?: string; securityGroupId?: string; securityGroupIds?: string[]; vSwitchId?: string; static names(): { [key: string]: string } { return { description: 'Description', instanceType: 'InstanceType', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', primaryIpAddress: 'PrimaryIpAddress', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { description: 'string', instanceType: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', primaryIpAddress: 'string', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateLaunchTemplateVersionRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayRequestBandwidthPackage extends $tea.Model { bandwidth?: number; ipCount?: number; zone?: string; static names(): { [key: string]: string } { return { bandwidth: 'Bandwidth', ipCount: 'IpCount', zone: 'Zone', }; } static types(): { [key: string]: any } { return { bandwidth: 'number', ipCount: 'number', zone: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayResponseBodyBandwidthPackageIds extends $tea.Model { bandwidthPackageId?: string[]; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNatGatewayResponseBodyForwardTableIds extends $tea.Model { forwardTableId?: string[]; static names(): { [key: string]: string } { return { forwardTableId: 'ForwardTableId', }; } static types(): { [key: string]: any } { return { forwardTableId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv4PrefixSetsIpv4PrefixSet extends $tea.Model { ipv4Prefix?: string; static names(): { [key: string]: string } { return { ipv4Prefix: 'Ipv4Prefix', }; } static types(): { [key: string]: any } { return { ipv4Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv4PrefixSets extends $tea.Model { ipv4PrefixSet?: CreateNetworkInterfaceResponseBodyIpv4PrefixSetsIpv4PrefixSet[]; static names(): { [key: string]: string } { return { ipv4PrefixSet: 'Ipv4PrefixSet', }; } static types(): { [key: string]: any } { return { ipv4PrefixSet: { 'type': 'array', 'itemType': CreateNetworkInterfaceResponseBodyIpv4PrefixSetsIpv4PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv6PrefixSetsIpv6PrefixSet extends $tea.Model { ipv6Prefix?: string; static names(): { [key: string]: string } { return { ipv6Prefix: 'Ipv6Prefix', }; } static types(): { [key: string]: any } { return { ipv6Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv6PrefixSets extends $tea.Model { ipv6PrefixSet?: CreateNetworkInterfaceResponseBodyIpv6PrefixSetsIpv6PrefixSet[]; static names(): { [key: string]: string } { return { ipv6PrefixSet: 'Ipv6PrefixSet', }; } static types(): { [key: string]: any } { return { ipv6PrefixSet: { 'type': 'array', 'itemType': CreateNetworkInterfaceResponseBodyIpv6PrefixSetsIpv6PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv6SetsIpv6Set extends $tea.Model { ipv6Address?: string; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', }; } static types(): { [key: string]: any } { return { ipv6Address: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyIpv6Sets extends $tea.Model { ipv6Set?: CreateNetworkInterfaceResponseBodyIpv6SetsIpv6Set[]; static names(): { [key: string]: string } { return { ipv6Set: 'Ipv6Set', }; } static types(): { [key: string]: any } { return { ipv6Set: { 'type': 'array', 'itemType': CreateNetworkInterfaceResponseBodyIpv6SetsIpv6Set }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyPrivateIpSetsPrivateIpSet extends $tea.Model { primary?: boolean; privateIpAddress?: string; static names(): { [key: string]: string } { return { primary: 'Primary', privateIpAddress: 'PrivateIpAddress', }; } static types(): { [key: string]: any } { return { primary: 'boolean', privateIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyPrivateIpSets extends $tea.Model { privateIpSet?: CreateNetworkInterfaceResponseBodyPrivateIpSetsPrivateIpSet[]; static names(): { [key: string]: string } { return { privateIpSet: 'PrivateIpSet', }; } static types(): { [key: string]: any } { return { privateIpSet: { 'type': 'array', 'itemType': CreateNetworkInterfaceResponseBodyPrivateIpSetsPrivateIpSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodySecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfaceResponseBodyTags extends $tea.Model { tag?: CreateNetworkInterfaceResponseBodyTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': CreateNetworkInterfaceResponseBodyTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateNetworkInterfacePermissionResponseBodyNetworkInterfacePermission extends $tea.Model { accountId?: number; networkInterfaceId?: string; networkInterfacePermissionId?: string; permission?: string; permissionState?: string; serviceName?: string; static names(): { [key: string]: string } { return { accountId: 'AccountId', networkInterfaceId: 'NetworkInterfaceId', networkInterfacePermissionId: 'NetworkInterfacePermissionId', permission: 'Permission', permissionState: 'PermissionState', serviceName: 'ServiceName', }; } static types(): { [key: string]: any } { return { accountId: 'number', networkInterfaceId: 'string', networkInterfacePermissionId: 'string', permission: 'string', permissionState: 'string', serviceName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreatePrefixListRequestEntry extends $tea.Model { cidr?: string; description?: string; static names(): { [key: string]: string } { return { cidr: 'Cidr', description: 'Description', }; } static types(): { [key: string]: any } { return { cidr: 'string', description: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateRouteEntryRequestNextHopList extends $tea.Model { nextHopId?: string; nextHopType?: string; static names(): { [key: string]: string } { return { nextHopId: 'NextHopId', nextHopType: 'NextHopType', }; } static types(): { [key: string]: any } { return { nextHopId: 'string', nextHopType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSecurityGroupRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSimulatedSystemEventsResponseBodyEventIdSet extends $tea.Model { eventId?: string[]; static names(): { [key: string]: string } { return { eventId: 'EventId', }; } static types(): { [key: string]: any } { return { eventId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class CreateSnapshotGroupRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteActivationResponseBodyActivation extends $tea.Model { activationId?: string; creationTime?: string; deregisteredCount?: number; description?: string; instanceCount?: number; instanceName?: string; ipAddressRange?: string; registeredCount?: number; timeToLiveInHours?: number; static names(): { [key: string]: string } { return { activationId: 'ActivationId', creationTime: 'CreationTime', deregisteredCount: 'DeregisteredCount', description: 'Description', instanceCount: 'InstanceCount', instanceName: 'InstanceName', ipAddressRange: 'IpAddressRange', registeredCount: 'RegisteredCount', timeToLiveInHours: 'TimeToLiveInHours', }; } static types(): { [key: string]: any } { return { activationId: 'string', creationTime: 'string', deregisteredCount: 'number', description: 'string', instanceCount: 'number', instanceName: 'string', ipAddressRange: 'string', registeredCount: 'number', timeToLiveInHours: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateResponseBodyLaunchTemplateVersionNumbers extends $tea.Model { versionNumbers?: number[]; static names(): { [key: string]: string } { return { versionNumbers: 'versionNumbers', }; } static types(): { [key: string]: any } { return { versionNumbers: { 'type': 'array', 'itemType': 'number' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersionsLaunchTemplateVersion extends $tea.Model { launchTemplateId?: string; launchTemplateVersionNumber?: number; static names(): { [key: string]: string } { return { launchTemplateId: 'LaunchTemplateId', launchTemplateVersionNumber: 'LaunchTemplateVersionNumber', }; } static types(): { [key: string]: any } { return { launchTemplateId: 'string', launchTemplateVersionNumber: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersions extends $tea.Model { launchTemplateVersion?: DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersionsLaunchTemplateVersion[]; static names(): { [key: string]: string } { return { launchTemplateVersion: 'LaunchTemplateVersion', }; } static types(): { [key: string]: any } { return { launchTemplateVersion: { 'type': 'array', 'itemType': DeleteLaunchTemplateVersionResponseBodyLaunchTemplateVersionsLaunchTemplateVersion }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteRouteEntryRequestNextHopList extends $tea.Model { nextHopId?: string; nextHopType?: string; static names(): { [key: string]: string } { return { nextHopId: 'NextHopId', nextHopType: 'NextHopType', }; } static types(): { [key: string]: any } { return { nextHopId: 'string', nextHopType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem extends $tea.Model { name?: string; value?: string; static names(): { [key: string]: string } { return { name: 'Name', value: 'Value', }; } static types(): { [key: string]: any } { return { name: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSet extends $tea.Model { relatedItem?: DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem[]; static names(): { [key: string]: string } { return { relatedItem: 'RelatedItem', }; } static types(): { [key: string]: any } { return { relatedItem: { 'type': 'array', 'itemType': DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgress extends $tea.Model { errorCode?: string; errorMsg?: string; operationStatus?: string; relatedItemSet?: DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSet; static names(): { [key: string]: string } { return { errorCode: 'ErrorCode', errorMsg: 'ErrorMsg', operationStatus: 'OperationStatus', relatedItemSet: 'RelatedItemSet', }; } static types(): { [key: string]: any } { return { errorCode: 'string', errorMsg: 'string', operationStatus: 'string', relatedItemSet: DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgressRelatedItemSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeleteSnapshotGroupResponseBodyOperationProgressSet extends $tea.Model { operationProgress?: DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgress[]; static names(): { [key: string]: string } { return { operationProgress: 'OperationProgress', }; } static types(): { [key: string]: any } { return { operationProgress: { 'type': 'array', 'itemType': DeleteSnapshotGroupResponseBodyOperationProgressSetOperationProgress }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DeregisterManagedInstanceResponseBodyInstance extends $tea.Model { activationId?: string; agentVersion?: string; hostname?: string; instanceId?: string; instanceName?: string; internetIp?: string; intranetIp?: string; invocationCount?: number; lastInvokedTime?: string; machineId?: string; osType?: string; osVersion?: string; registrationTime?: string; resourceGroupId?: string; static names(): { [key: string]: string } { return { activationId: 'ActivationId', agentVersion: 'AgentVersion', hostname: 'Hostname', instanceId: 'InstanceId', instanceName: 'InstanceName', internetIp: 'InternetIp', intranetIp: 'IntranetIp', invocationCount: 'InvocationCount', lastInvokedTime: 'LastInvokedTime', machineId: 'MachineId', osType: 'OsType', osVersion: 'OsVersion', registrationTime: 'RegistrationTime', resourceGroupId: 'ResourceGroupId', }; } static types(): { [key: string]: any } { return { activationId: 'string', agentVersion: 'string', hostname: 'string', instanceId: 'string', instanceName: 'string', internetIp: 'string', intranetIp: 'string', invocationCount: 'number', lastInvokedTime: 'string', machineId: 'string', osType: 'string', osVersion: 'string', registrationTime: 'string', resourceGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsResponseBodyAccessPointSetAccessPointType extends $tea.Model { accessPointId?: string; attachedRegionNo?: string; description?: string; hostOperator?: string; location?: string; name?: string; status?: string; type?: string; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', attachedRegionNo: 'AttachedRegionNo', description: 'Description', hostOperator: 'HostOperator', location: 'Location', name: 'Name', status: 'Status', type: 'Type', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', attachedRegionNo: 'string', description: 'string', hostOperator: 'string', location: 'string', name: 'string', status: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccessPointsResponseBodyAccessPointSet extends $tea.Model { accessPointType?: DescribeAccessPointsResponseBodyAccessPointSetAccessPointType[]; static names(): { [key: string]: string } { return { accessPointType: 'AccessPointType', }; } static types(): { [key: string]: any } { return { accessPointType: { 'type': 'array', 'itemType': DescribeAccessPointsResponseBodyAccessPointSetAccessPointType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValuesValueItem extends $tea.Model { count?: number; diskCategory?: string; expiredTime?: string; instanceChargeType?: string; instanceType?: string; value?: string; zoneId?: string; static names(): { [key: string]: string } { return { count: 'Count', diskCategory: 'DiskCategory', expiredTime: 'ExpiredTime', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', value: 'Value', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { count: 'number', diskCategory: 'string', expiredTime: 'string', instanceChargeType: 'string', instanceType: 'string', value: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValues extends $tea.Model { valueItem?: DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValuesValueItem[]; static names(): { [key: string]: string } { return { valueItem: 'ValueItem', }; } static types(): { [key: string]: any } { return { valueItem: { 'type': 'array', 'itemType': DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValuesValueItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItem extends $tea.Model { attributeName?: string; attributeValues?: DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValues; static names(): { [key: string]: string } { return { attributeName: 'AttributeName', attributeValues: 'AttributeValues', }; } static types(): { [key: string]: any } { return { attributeName: 'string', attributeValues: DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItemAttributeValues, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAccountAttributesResponseBodyAccountAttributeItems extends $tea.Model { accountAttributeItem?: DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItem[]; static names(): { [key: string]: string } { return { accountAttributeItem: 'AccountAttributeItem', }; } static types(): { [key: string]: any } { return { accountAttributeItem: { 'type': 'array', 'itemType': DescribeAccountAttributesResponseBodyAccountAttributeItemsAccountAttributeItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsResponseBodyActivationListTags extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeActivationsResponseBodyActivationList extends $tea.Model { activationId?: string; creationTime?: string; deregisteredCount?: number; description?: string; disabled?: boolean; instanceCount?: number; instanceName?: string; ipAddressRange?: string; registeredCount?: number; resourceGroupId?: string; tags?: DescribeActivationsResponseBodyActivationListTags[]; timeToLiveInHours?: number; static names(): { [key: string]: string } { return { activationId: 'ActivationId', creationTime: 'CreationTime', deregisteredCount: 'DeregisteredCount', description: 'Description', disabled: 'Disabled', instanceCount: 'InstanceCount', instanceName: 'InstanceName', ipAddressRange: 'IpAddressRange', registeredCount: 'RegisteredCount', resourceGroupId: 'ResourceGroupId', tags: 'Tags', timeToLiveInHours: 'TimeToLiveInHours', }; } static types(): { [key: string]: any } { return { activationId: 'string', creationTime: 'string', deregisteredCount: 'number', description: 'string', disabled: 'boolean', instanceCount: 'number', instanceName: 'string', ipAddressRange: 'string', registeredCount: 'number', resourceGroupId: 'string', tags: { 'type': 'array', 'itemType': DescribeActivationsResponseBodyActivationListTags }, timeToLiveInHours: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetailsActivityDetail extends $tea.Model { detail?: string; status?: string; static names(): { [key: string]: string } { return { detail: 'Detail', status: 'Status', }; } static types(): { [key: string]: any } { return { detail: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetails extends $tea.Model { activityDetail?: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetailsActivityDetail[]; static names(): { [key: string]: string } { return { activityDetail: 'ActivityDetail', }; } static types(): { [key: string]: any } { return { activityDetail: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetailsActivityDetail }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistory extends $tea.Model { activityDetails?: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetails; lastEventTime?: string; startTime?: string; status?: string; taskId?: string; static names(): { [key: string]: string } { return { activityDetails: 'ActivityDetails', lastEventTime: 'LastEventTime', startTime: 'StartTime', status: 'Status', taskId: 'TaskId', }; } static types(): { [key: string]: any } { return { activityDetails: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistoryActivityDetails, lastEventTime: 'string', startTime: 'string', status: 'string', taskId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistories extends $tea.Model { autoProvisioningGroupHistory?: DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistory[]; static names(): { [key: string]: string } { return { autoProvisioningGroupHistory: 'AutoProvisioningGroupHistory', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupHistory: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupHistoryResponseBodyAutoProvisioningGroupHistoriesAutoProvisioningGroupHistory }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupInstancesResponseBodyInstancesInstance extends $tea.Model { CPU?: number; creationTime?: string; instanceId?: string; instanceType?: string; ioOptimized?: boolean; isSpot?: boolean; memory?: number; networkType?: string; osType?: string; regionId?: string; status?: string; zoneId?: string; static names(): { [key: string]: string } { return { CPU: 'CPU', creationTime: 'CreationTime', instanceId: 'InstanceId', instanceType: 'InstanceType', ioOptimized: 'IoOptimized', isSpot: 'IsSpot', memory: 'Memory', networkType: 'NetworkType', osType: 'OsType', regionId: 'RegionId', status: 'Status', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { CPU: 'number', creationTime: 'string', instanceId: 'string', instanceType: 'string', ioOptimized: 'boolean', isSpot: 'boolean', memory: 'number', networkType: 'string', osType: 'string', regionId: 'string', status: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupInstancesResponseBodyInstances extends $tea.Model { instance?: DescribeAutoProvisioningGroupInstancesResponseBodyInstancesInstance[]; static names(): { [key: string]: string } { return { instance: 'Instance', }; } static types(): { [key: string]: any } { return { instance: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupInstancesResponseBodyInstancesInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigsLaunchTemplateConfig extends $tea.Model { instanceType?: string; maxPrice?: number; priority?: number; vSwitchId?: string; weightedCapacity?: number; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', maxPrice: 'MaxPrice', priority: 'Priority', vSwitchId: 'VSwitchId', weightedCapacity: 'WeightedCapacity', }; } static types(): { [key: string]: any } { return { instanceType: 'string', maxPrice: 'number', priority: 'number', vSwitchId: 'string', weightedCapacity: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigs extends $tea.Model { launchTemplateConfig?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigsLaunchTemplateConfig[]; static names(): { [key: string]: string } { return { launchTemplateConfig: 'LaunchTemplateConfig', }; } static types(): { [key: string]: any } { return { launchTemplateConfig: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigsLaunchTemplateConfig }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupPayAsYouGoOptions extends $tea.Model { allocationStrategy?: string; static names(): { [key: string]: string } { return { allocationStrategy: 'AllocationStrategy', }; } static types(): { [key: string]: any } { return { allocationStrategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupSpotOptions extends $tea.Model { allocationStrategy?: string; instanceInterruptionBehavior?: string; instancePoolsToUseCount?: number; static names(): { [key: string]: string } { return { allocationStrategy: 'AllocationStrategy', instanceInterruptionBehavior: 'InstanceInterruptionBehavior', instancePoolsToUseCount: 'InstancePoolsToUseCount', }; } static types(): { [key: string]: any } { return { allocationStrategy: 'string', instanceInterruptionBehavior: 'string', instancePoolsToUseCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTags extends $tea.Model { tag?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTargetCapacitySpecification extends $tea.Model { defaultTargetCapacityType?: string; payAsYouGoTargetCapacity?: number; spotTargetCapacity?: number; totalTargetCapacity?: number; static names(): { [key: string]: string } { return { defaultTargetCapacityType: 'DefaultTargetCapacityType', payAsYouGoTargetCapacity: 'PayAsYouGoTargetCapacity', spotTargetCapacity: 'SpotTargetCapacity', totalTargetCapacity: 'TotalTargetCapacity', }; } static types(): { [key: string]: any } { return { defaultTargetCapacityType: 'string', payAsYouGoTargetCapacity: 'number', spotTargetCapacity: 'number', totalTargetCapacity: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroup extends $tea.Model { autoProvisioningGroupId?: string; autoProvisioningGroupName?: string; autoProvisioningGroupType?: string; creationTime?: string; excessCapacityTerminationPolicy?: string; launchTemplateConfigs?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigs; launchTemplateId?: string; launchTemplateVersion?: string; maxSpotPrice?: number; payAsYouGoOptions?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupPayAsYouGoOptions; regionId?: string; resourceGroupId?: string; spotOptions?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupSpotOptions; state?: string; status?: string; tags?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTags; targetCapacitySpecification?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTargetCapacitySpecification; terminateInstances?: boolean; terminateInstancesWithExpiration?: boolean; validFrom?: string; validUntil?: string; static names(): { [key: string]: string } { return { autoProvisioningGroupId: 'AutoProvisioningGroupId', autoProvisioningGroupName: 'AutoProvisioningGroupName', autoProvisioningGroupType: 'AutoProvisioningGroupType', creationTime: 'CreationTime', excessCapacityTerminationPolicy: 'ExcessCapacityTerminationPolicy', launchTemplateConfigs: 'LaunchTemplateConfigs', launchTemplateId: 'LaunchTemplateId', launchTemplateVersion: 'LaunchTemplateVersion', maxSpotPrice: 'MaxSpotPrice', payAsYouGoOptions: 'PayAsYouGoOptions', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', spotOptions: 'SpotOptions', state: 'State', status: 'Status', tags: 'Tags', targetCapacitySpecification: 'TargetCapacitySpecification', terminateInstances: 'TerminateInstances', terminateInstancesWithExpiration: 'TerminateInstancesWithExpiration', validFrom: 'ValidFrom', validUntil: 'ValidUntil', }; } static types(): { [key: string]: any } { return { autoProvisioningGroupId: 'string', autoProvisioningGroupName: 'string', autoProvisioningGroupType: 'string', creationTime: 'string', excessCapacityTerminationPolicy: 'string', launchTemplateConfigs: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupLaunchTemplateConfigs, launchTemplateId: 'string', launchTemplateVersion: 'string', maxSpotPrice: 'number', payAsYouGoOptions: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupPayAsYouGoOptions, regionId: 'string', resourceGroupId: 'string', spotOptions: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupSpotOptions, state: 'string', status: 'string', tags: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTags, targetCapacitySpecification: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroupTargetCapacitySpecification, terminateInstances: 'boolean', terminateInstancesWithExpiration: 'boolean', validFrom: 'string', validUntil: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroups extends $tea.Model { autoProvisioningGroup?: DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroup[]; static names(): { [key: string]: string } { return { autoProvisioningGroup: 'AutoProvisioningGroup', }; } static types(): { [key: string]: any } { return { autoProvisioningGroup: { 'type': 'array', 'itemType': DescribeAutoProvisioningGroupsResponseBodyAutoProvisioningGroupsAutoProvisioningGroup }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyCopyEncryptionConfiguration extends $tea.Model { encrypted?: boolean; KMSKeyId?: string; static names(): { [key: string]: string } { return { encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', }; } static types(): { [key: string]: any } { return { encrypted: 'boolean', KMSKeyId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTags extends $tea.Model { tag?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicy extends $tea.Model { autoSnapshotPolicyId?: string; autoSnapshotPolicyName?: string; copiedSnapshotsRetentionDays?: number; copyEncryptionConfiguration?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyCopyEncryptionConfiguration; creationTime?: string; diskNums?: number; enableCrossRegionCopy?: boolean; regionId?: string; repeatWeekdays?: string; resourceGroupId?: string; retentionDays?: number; status?: string; tags?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTags; targetCopyRegions?: string; timePoints?: string; type?: string; volumeNums?: number; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', autoSnapshotPolicyName: 'AutoSnapshotPolicyName', copiedSnapshotsRetentionDays: 'CopiedSnapshotsRetentionDays', copyEncryptionConfiguration: 'CopyEncryptionConfiguration', creationTime: 'CreationTime', diskNums: 'DiskNums', enableCrossRegionCopy: 'EnableCrossRegionCopy', regionId: 'RegionId', repeatWeekdays: 'RepeatWeekdays', resourceGroupId: 'ResourceGroupId', retentionDays: 'RetentionDays', status: 'Status', tags: 'Tags', targetCopyRegions: 'TargetCopyRegions', timePoints: 'TimePoints', type: 'Type', volumeNums: 'VolumeNums', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', autoSnapshotPolicyName: 'string', copiedSnapshotsRetentionDays: 'number', copyEncryptionConfiguration: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyCopyEncryptionConfiguration, creationTime: 'string', diskNums: 'number', enableCrossRegionCopy: 'boolean', regionId: 'string', repeatWeekdays: 'string', resourceGroupId: 'string', retentionDays: 'number', status: 'string', tags: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicyTags, targetCopyRegions: 'string', timePoints: 'string', type: 'string', volumeNums: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPolicies extends $tea.Model { autoSnapshotPolicy?: DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicy[]; static names(): { [key: string]: string } { return { autoSnapshotPolicy: 'AutoSnapshotPolicy', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicy: { 'type': 'array', 'itemType': DescribeAutoSnapshotPolicyExResponseBodyAutoSnapshotPoliciesAutoSnapshotPolicy }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource extends $tea.Model { max?: number; min?: number; status?: string; statusCategory?: string; unit?: string; value?: string; static names(): { [key: string]: string } { return { max: 'Max', min: 'Min', status: 'Status', statusCategory: 'StatusCategory', unit: 'Unit', value: 'Value', }; } static types(): { [key: string]: any } { return { max: 'number', min: 'number', status: 'string', statusCategory: 'string', unit: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources extends $tea.Model { supportedResource?: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource[]; static names(): { [key: string]: string } { return { supportedResource: 'SupportedResource', }; } static types(): { [key: string]: any } { return { supportedResource: { 'type': 'array', 'itemType': DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource extends $tea.Model { supportedResources?: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources; type?: string; static names(): { [key: string]: string } { return { supportedResources: 'SupportedResources', type: 'Type', }; } static types(): { [key: string]: any } { return { supportedResources: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources, type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResources extends $tea.Model { availableResource?: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource[]; static names(): { [key: string]: string } { return { availableResource: 'AvailableResource', }; } static types(): { [key: string]: any } { return { availableResource: { 'type': 'array', 'itemType': DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZonesAvailableZone extends $tea.Model { availableResources?: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResources; regionId?: string; status?: string; statusCategory?: string; zoneId?: string; static names(): { [key: string]: string } { return { availableResources: 'AvailableResources', regionId: 'RegionId', status: 'Status', statusCategory: 'StatusCategory', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableResources: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZoneAvailableResources, regionId: 'string', status: 'string', statusCategory: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeAvailableResourceResponseBodyAvailableZones extends $tea.Model { availableZone?: DescribeAvailableResourceResponseBodyAvailableZonesAvailableZone[]; static names(): { [key: string]: string } { return { availableZone: 'AvailableZone', }; } static types(): { [key: string]: any } { return { availableZone: { 'type': 'array', 'itemType': DescribeAvailableResourceResponseBodyAvailableZonesAvailableZone }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthLimitationResponseBodyBandwidthsBandwidth extends $tea.Model { internetChargeType?: string; max?: number; min?: number; unit?: string; static names(): { [key: string]: string } { return { internetChargeType: 'InternetChargeType', max: 'Max', min: 'Min', unit: 'Unit', }; } static types(): { [key: string]: any } { return { internetChargeType: 'string', max: 'number', min: 'number', unit: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthLimitationResponseBodyBandwidths extends $tea.Model { bandwidth?: DescribeBandwidthLimitationResponseBodyBandwidthsBandwidth[]; static names(): { [key: string]: string } { return { bandwidth: 'Bandwidth', }; } static types(): { [key: string]: any } { return { bandwidth: { 'type': 'array', 'itemType': DescribeBandwidthLimitationResponseBodyBandwidthsBandwidth }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddressesPublicIpAddresse extends $tea.Model { allocationId?: string; ipAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', ipAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddresses extends $tea.Model { publicIpAddresse?: DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddressesPublicIpAddresse[]; static names(): { [key: string]: string } { return { publicIpAddresse: 'PublicIpAddresse', }; } static types(): { [key: string]: any } { return { publicIpAddresse: { 'type': 'array', 'itemType': DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddressesPublicIpAddresse }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackage extends $tea.Model { bandwidth?: string; bandwidthPackageId?: string; businessStatus?: string; creationTime?: string; description?: string; ISP?: string; instanceChargeType?: string; internetChargeType?: string; ipCount?: string; name?: string; natGatewayId?: string; publicIpAddresses?: DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddresses; regionId?: string; status?: string; zoneId?: string; static names(): { [key: string]: string } { return { bandwidth: 'Bandwidth', bandwidthPackageId: 'BandwidthPackageId', businessStatus: 'BusinessStatus', creationTime: 'CreationTime', description: 'Description', ISP: 'ISP', instanceChargeType: 'InstanceChargeType', internetChargeType: 'InternetChargeType', ipCount: 'IpCount', name: 'Name', natGatewayId: 'NatGatewayId', publicIpAddresses: 'PublicIpAddresses', regionId: 'RegionId', status: 'Status', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { bandwidth: 'string', bandwidthPackageId: 'string', businessStatus: 'string', creationTime: 'string', description: 'string', ISP: 'string', instanceChargeType: 'string', internetChargeType: 'string', ipCount: 'string', name: 'string', natGatewayId: 'string', publicIpAddresses: DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackagePublicIpAddresses, regionId: 'string', status: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeBandwidthPackagesResponseBodyBandwidthPackages extends $tea.Model { bandwidthPackage?: DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackage[]; static names(): { [key: string]: string } { return { bandwidthPackage: 'BandwidthPackage', }; } static types(): { [key: string]: any } { return { bandwidthPackage: { 'type': 'array', 'itemType': DescribeBandwidthPackagesResponseBodyBandwidthPackagesBandwidthPackage }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesRequestPrivatePoolOptions extends $tea.Model { id?: string; static names(): { [key: string]: string } { return { id: 'Id', }; } static types(): { [key: string]: any } { return { id: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesResponseBodyCapacityReservationItemInstanceIdSet extends $tea.Model { instanceId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationInstancesResponseBodyCapacityReservationItem extends $tea.Model { instanceIdSet?: DescribeCapacityReservationInstancesResponseBodyCapacityReservationItemInstanceIdSet[]; static names(): { [key: string]: string } { return { instanceIdSet: 'InstanceIdSet', }; } static types(): { [key: string]: any } { return { instanceIdSet: { 'type': 'array', 'itemType': DescribeCapacityReservationInstancesResponseBodyCapacityReservationItemInstanceIdSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsRequestPrivatePoolOptions extends $tea.Model { ids?: string; static names(): { [key: string]: string } { return { ids: 'Ids', }; } static types(): { [key: string]: any } { return { ids: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsagesCapacityReservationUsage extends $tea.Model { accountId?: string; serviceName?: string; usedAmount?: number; static names(): { [key: string]: string } { return { accountId: 'AccountId', serviceName: 'ServiceName', usedAmount: 'UsedAmount', }; } static types(): { [key: string]: any } { return { accountId: 'string', serviceName: 'string', usedAmount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsages extends $tea.Model { capacityReservationUsage?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsagesCapacityReservationUsage[]; static names(): { [key: string]: string } { return { capacityReservationUsage: 'CapacityReservationUsage', }; } static types(): { [key: string]: any } { return { capacityReservationUsage: { 'type': 'array', 'itemType': DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsagesCapacityReservationUsage }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource extends $tea.Model { availableAmount?: number; capacityReservationUsages?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsages; instanceType?: string; totalAmount?: number; usedAmount?: number; zoneId?: string; static names(): { [key: string]: string } { return { availableAmount: 'AvailableAmount', capacityReservationUsages: 'CapacityReservationUsages', instanceType: 'InstanceType', totalAmount: 'TotalAmount', usedAmount: 'UsedAmount', zoneId: 'zoneId', }; } static types(): { [key: string]: any } { return { availableAmount: 'number', capacityReservationUsages: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResourceCapacityReservationUsages, instanceType: 'string', totalAmount: 'number', usedAmount: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResources extends $tea.Model { allocatedResource?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource[]; static names(): { [key: string]: string } { return { allocatedResource: 'AllocatedResource', }; } static types(): { [key: string]: any } { return { allocatedResource: { 'type': 'array', 'itemType': DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResourcesAllocatedResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTags extends $tea.Model { tag?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItem extends $tea.Model { allocatedResources?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResources; capacityReservationOwnerId?: string; description?: string; endTime?: string; endTimeType?: string; instanceChargeType?: string; platform?: string; privatePoolOptionsId?: string; privatePoolOptionsMatchCriteria?: string; privatePoolOptionsName?: string; regionId?: string; reservedInstanceId?: string; resourceGroupId?: string; savingPlanId?: string; startTime?: string; startTimeType?: string; status?: string; tags?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTags; timeSlot?: string; static names(): { [key: string]: string } { return { allocatedResources: 'AllocatedResources', capacityReservationOwnerId: 'CapacityReservationOwnerId', description: 'Description', endTime: 'EndTime', endTimeType: 'EndTimeType', instanceChargeType: 'InstanceChargeType', platform: 'Platform', privatePoolOptionsId: 'PrivatePoolOptionsId', privatePoolOptionsMatchCriteria: 'PrivatePoolOptionsMatchCriteria', privatePoolOptionsName: 'PrivatePoolOptionsName', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', resourceGroupId: 'ResourceGroupId', savingPlanId: 'SavingPlanId', startTime: 'StartTime', startTimeType: 'StartTimeType', status: 'Status', tags: 'Tags', timeSlot: 'TimeSlot', }; } static types(): { [key: string]: any } { return { allocatedResources: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemAllocatedResources, capacityReservationOwnerId: 'string', description: 'string', endTime: 'string', endTimeType: 'string', instanceChargeType: 'string', platform: 'string', privatePoolOptionsId: 'string', privatePoolOptionsMatchCriteria: 'string', privatePoolOptionsName: 'string', regionId: 'string', reservedInstanceId: 'string', resourceGroupId: 'string', savingPlanId: 'string', startTime: 'string', startTimeType: 'string', status: 'string', tags: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItemTags, timeSlot: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCapacityReservationsResponseBodyCapacityReservationSet extends $tea.Model { capacityReservationItem?: DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItem[]; static names(): { [key: string]: string } { return { capacityReservationItem: 'CapacityReservationItem', }; } static types(): { [key: string]: any } { return { capacityReservationItem: { 'type': 'array', 'itemType': DescribeCapacityReservationsResponseBodyCapacityReservationSetCapacityReservationItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClassicLinkInstancesResponseBodyLinksLink extends $tea.Model { instanceId?: string; vpcId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClassicLinkInstancesResponseBodyLinks extends $tea.Model { link?: DescribeClassicLinkInstancesResponseBodyLinksLink[]; static names(): { [key: string]: string } { return { link: 'Link', }; } static types(): { [key: string]: any } { return { link: { 'type': 'array', 'itemType': DescribeClassicLinkInstancesResponseBodyLinksLink }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfigAllowedUpgradeWindows extends $tea.Model { allowedUpgradeWindow?: string[]; static names(): { [key: string]: string } { return { allowedUpgradeWindow: 'AllowedUpgradeWindow', }; } static types(): { [key: string]: any } { return { allowedUpgradeWindow: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfig extends $tea.Model { allowedUpgradeWindows?: DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfigAllowedUpgradeWindows; enabled?: boolean; timeZone?: string; static names(): { [key: string]: string } { return { allowedUpgradeWindows: 'AllowedUpgradeWindows', enabled: 'Enabled', timeZone: 'TimeZone', }; } static types(): { [key: string]: any } { return { allowedUpgradeWindows: DescribeCloudAssistantSettingsResponseBodyAgentUpgradeConfigAllowedUpgradeWindows, enabled: 'boolean', timeZone: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigsOssDeliveryConfig extends $tea.Model { bucketName?: string; deliveryType?: string; enabled?: boolean; encryptionAlgorithm?: string; encryptionKeyId?: string; encryptionType?: string; prefix?: string; static names(): { [key: string]: string } { return { bucketName: 'BucketName', deliveryType: 'DeliveryType', enabled: 'Enabled', encryptionAlgorithm: 'EncryptionAlgorithm', encryptionKeyId: 'EncryptionKeyId', encryptionType: 'EncryptionType', prefix: 'Prefix', }; } static types(): { [key: string]: any } { return { bucketName: 'string', deliveryType: 'string', enabled: 'boolean', encryptionAlgorithm: 'string', encryptionKeyId: 'string', encryptionType: 'string', prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigs extends $tea.Model { ossDeliveryConfig?: DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigsOssDeliveryConfig[]; static names(): { [key: string]: string } { return { ossDeliveryConfig: 'OssDeliveryConfig', }; } static types(): { [key: string]: any } { return { ossDeliveryConfig: { 'type': 'array', 'itemType': DescribeCloudAssistantSettingsResponseBodyOssDeliveryConfigsOssDeliveryConfig }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigsSlsDeliveryConfig extends $tea.Model { deliveryType?: string; enabled?: boolean; logstoreName?: string; projectName?: string; static names(): { [key: string]: string } { return { deliveryType: 'DeliveryType', enabled: 'Enabled', logstoreName: 'LogstoreName', projectName: 'ProjectName', }; } static types(): { [key: string]: any } { return { deliveryType: 'string', enabled: 'boolean', logstoreName: 'string', projectName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigs extends $tea.Model { slsDeliveryConfig?: DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigsSlsDeliveryConfig[]; static names(): { [key: string]: string } { return { slsDeliveryConfig: 'SlsDeliveryConfig', }; } static types(): { [key: string]: any } { return { slsDeliveryConfig: { 'type': 'array', 'itemType': DescribeCloudAssistantSettingsResponseBodySlsDeliveryConfigsSlsDeliveryConfig }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus extends $tea.Model { activeTaskCount?: number; cloudAssistantStatus?: string; cloudAssistantVersion?: string; instanceId?: string; invocationCount?: number; lastHeartbeatTime?: string; lastInvokedTime?: string; OSType?: string; supportSessionManager?: boolean; static names(): { [key: string]: string } { return { activeTaskCount: 'ActiveTaskCount', cloudAssistantStatus: 'CloudAssistantStatus', cloudAssistantVersion: 'CloudAssistantVersion', instanceId: 'InstanceId', invocationCount: 'InvocationCount', lastHeartbeatTime: 'LastHeartbeatTime', lastInvokedTime: 'LastInvokedTime', OSType: 'OSType', supportSessionManager: 'SupportSessionManager', }; } static types(): { [key: string]: any } { return { activeTaskCount: 'number', cloudAssistantStatus: 'string', cloudAssistantVersion: 'string', instanceId: 'string', invocationCount: 'number', lastHeartbeatTime: 'string', lastInvokedTime: 'string', OSType: 'string', supportSessionManager: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSet extends $tea.Model { instanceCloudAssistantStatus?: DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus[]; static names(): { [key: string]: string } { return { instanceCloudAssistantStatus: 'InstanceCloudAssistantStatus', }; } static types(): { [key: string]: any } { return { instanceCloudAssistantStatus: { 'type': 'array', 'itemType': DescribeCloudAssistantStatusResponseBodyInstanceCloudAssistantStatusSetInstanceCloudAssistantStatus }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClustersResponseBodyClustersCluster extends $tea.Model { clusterId?: string; static names(): { [key: string]: string } { return { clusterId: 'ClusterId', }; } static types(): { [key: string]: any } { return { clusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeClustersResponseBodyClusters extends $tea.Model { cluster?: DescribeClustersResponseBodyClustersCluster[]; static names(): { [key: string]: string } { return { cluster: 'Cluster', }; } static types(): { [key: string]: any } { return { cluster: { 'type': 'array', 'itemType': DescribeClustersResponseBodyClustersCluster }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinitionPossibleValues extends $tea.Model { possibleValue?: string[]; static names(): { [key: string]: string } { return { possibleValue: 'PossibleValue', }; } static types(): { [key: string]: any } { return { possibleValue: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinition extends $tea.Model { defaultValue?: string; description?: string; parameterName?: string; possibleValues?: DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinitionPossibleValues; required?: boolean; static names(): { [key: string]: string } { return { defaultValue: 'DefaultValue', description: 'Description', parameterName: 'ParameterName', possibleValues: 'PossibleValues', required: 'Required', }; } static types(): { [key: string]: any } { return { defaultValue: 'string', description: 'string', parameterName: 'string', possibleValues: DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinitionPossibleValues, required: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandParameterDefinitions extends $tea.Model { parameterDefinition?: DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinition[]; static names(): { [key: string]: string } { return { parameterDefinition: 'ParameterDefinition', }; } static types(): { [key: string]: any } { return { parameterDefinition: { 'type': 'array', 'itemType': DescribeCommandsResponseBodyCommandsCommandParameterDefinitionsParameterDefinition }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandParameterNames extends $tea.Model { parameterName?: string[]; static names(): { [key: string]: string } { return { parameterName: 'ParameterName', }; } static types(): { [key: string]: any } { return { parameterName: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommandTags extends $tea.Model { tag?: DescribeCommandsResponseBodyCommandsCommandTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeCommandsResponseBodyCommandsCommandTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommandsCommand extends $tea.Model { category?: string; commandContent?: string; commandId?: string; creationTime?: string; description?: string; enableParameter?: boolean; invokeTimes?: number; latest?: boolean; name?: string; parameterDefinitions?: DescribeCommandsResponseBodyCommandsCommandParameterDefinitions; parameterNames?: DescribeCommandsResponseBodyCommandsCommandParameterNames; provider?: string; resourceGroupId?: string; tags?: DescribeCommandsResponseBodyCommandsCommandTags; timeout?: number; type?: string; version?: number; workingDir?: string; static names(): { [key: string]: string } { return { category: 'Category', commandContent: 'CommandContent', commandId: 'CommandId', creationTime: 'CreationTime', description: 'Description', enableParameter: 'EnableParameter', invokeTimes: 'InvokeTimes', latest: 'Latest', name: 'Name', parameterDefinitions: 'ParameterDefinitions', parameterNames: 'ParameterNames', provider: 'Provider', resourceGroupId: 'ResourceGroupId', tags: 'Tags', timeout: 'Timeout', type: 'Type', version: 'Version', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { category: 'string', commandContent: 'string', commandId: 'string', creationTime: 'string', description: 'string', enableParameter: 'boolean', invokeTimes: 'number', latest: 'boolean', name: 'string', parameterDefinitions: DescribeCommandsResponseBodyCommandsCommandParameterDefinitions, parameterNames: DescribeCommandsResponseBodyCommandsCommandParameterNames, provider: 'string', resourceGroupId: 'string', tags: DescribeCommandsResponseBodyCommandsCommandTags, timeout: 'number', type: 'string', version: 'number', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeCommandsResponseBodyCommands extends $tea.Model { command?: DescribeCommandsResponseBodyCommandsCommand[]; static names(): { [key: string]: string } { return { command: 'Command', }; } static types(): { [key: string]: any } { return { command: { 'type': 'array', 'itemType': DescribeCommandsResponseBodyCommandsCommand }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributesDedicatedHostRenewAttribute extends $tea.Model { autoRenewEnabled?: boolean; autoRenewWithEcs?: string; dedicatedHostId?: string; duration?: number; periodUnit?: string; renewalStatus?: string; static names(): { [key: string]: string } { return { autoRenewEnabled: 'AutoRenewEnabled', autoRenewWithEcs: 'AutoRenewWithEcs', dedicatedHostId: 'DedicatedHostId', duration: 'Duration', periodUnit: 'PeriodUnit', renewalStatus: 'RenewalStatus', }; } static types(): { [key: string]: any } { return { autoRenewEnabled: 'boolean', autoRenewWithEcs: 'string', dedicatedHostId: 'string', duration: 'number', periodUnit: 'string', renewalStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributes extends $tea.Model { dedicatedHostRenewAttribute?: DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributesDedicatedHostRenewAttribute[]; static names(): { [key: string]: string } { return { dedicatedHostRenewAttribute: 'DedicatedHostRenewAttribute', }; } static types(): { [key: string]: any } { return { dedicatedHostRenewAttribute: { 'type': 'array', 'itemType': DescribeDedicatedHostAutoRenewResponseBodyDedicatedHostRenewAttributesDedicatedHostRenewAttribute }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypesAvailableInstanceType extends $tea.Model { availableInstanceCapacity?: number; instanceType?: string; static names(): { [key: string]: string } { return { availableInstanceCapacity: 'AvailableInstanceCapacity', instanceType: 'InstanceType', }; } static types(): { [key: string]: any } { return { availableInstanceCapacity: 'number', instanceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypes extends $tea.Model { availableInstanceType?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypesAvailableInstanceType[]; static names(): { [key: string]: string } { return { availableInstanceType: 'AvailableInstanceType', }; } static types(): { [key: string]: any } { return { availableInstanceType: { 'type': 'array', 'itemType': DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypesAvailableInstanceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacitiesLocalStorageCapacity extends $tea.Model { availableDisk?: number; dataDiskCategory?: string; totalDisk?: number; static names(): { [key: string]: string } { return { availableDisk: 'AvailableDisk', dataDiskCategory: 'DataDiskCategory', totalDisk: 'TotalDisk', }; } static types(): { [key: string]: any } { return { availableDisk: 'number', dataDiskCategory: 'string', totalDisk: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacities extends $tea.Model { localStorageCapacity?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacitiesLocalStorageCapacity[]; static names(): { [key: string]: string } { return { localStorageCapacity: 'LocalStorageCapacity', }; } static types(): { [key: string]: any } { return { localStorageCapacity: { 'type': 'array', 'itemType': DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacitiesLocalStorageCapacity }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacity extends $tea.Model { availableInstanceTypes?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypes; availableMemory?: number; availableVcpus?: number; localStorageCapacities?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacities; totalMemory?: number; totalVcpus?: number; static names(): { [key: string]: string } { return { availableInstanceTypes: 'AvailableInstanceTypes', availableMemory: 'AvailableMemory', availableVcpus: 'AvailableVcpus', localStorageCapacities: 'LocalStorageCapacities', totalMemory: 'TotalMemory', totalVcpus: 'TotalVcpus', }; } static types(): { [key: string]: any } { return { availableInstanceTypes: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityAvailableInstanceTypes, availableMemory: 'number', availableVcpus: 'number', localStorageCapacities: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacityLocalStorageCapacities, totalMemory: 'number', totalVcpus: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostIds extends $tea.Model { dedicatedHostId?: string[]; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', }; } static types(): { [key: string]: any } { return { dedicatedHostId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTags extends $tea.Model { tag?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostCluster extends $tea.Model { dedicatedHostClusterCapacity?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacity; dedicatedHostClusterId?: string; dedicatedHostClusterName?: string; dedicatedHostIds?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostIds; description?: string; regionId?: string; resourceGroupId?: string; tags?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTags; zoneId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterCapacity: 'DedicatedHostClusterCapacity', dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostClusterName: 'DedicatedHostClusterName', dedicatedHostIds: 'DedicatedHostIds', description: 'Description', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', tags: 'Tags', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterCapacity: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostClusterCapacity, dedicatedHostClusterId: 'string', dedicatedHostClusterName: 'string', dedicatedHostIds: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterDedicatedHostIds, description: 'string', regionId: 'string', resourceGroupId: 'string', tags: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostClusterTags, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostClustersResponseBodyDedicatedHostClusters extends $tea.Model { dedicatedHostCluster?: DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostCluster[]; static names(): { [key: string]: string } { return { dedicatedHostCluster: 'DedicatedHostCluster', }; } static types(): { [key: string]: any } { return { dedicatedHostCluster: { 'type': 'array', 'itemType': DescribeDedicatedHostClustersResponseBodyDedicatedHostClustersDedicatedHostCluster }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypeFamilies extends $tea.Model { supportedInstanceTypeFamily?: string[]; static names(): { [key: string]: string } { return { supportedInstanceTypeFamily: 'SupportedInstanceTypeFamily', }; } static types(): { [key: string]: any } { return { supportedInstanceTypeFamily: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypesList extends $tea.Model { supportedInstanceTypesList?: string[]; static names(): { [key: string]: string } { return { supportedInstanceTypesList: 'SupportedInstanceTypesList', }; } static types(): { [key: string]: any } { return { supportedInstanceTypesList: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostType extends $tea.Model { cores?: number; cpuOverCommitRatioRange?: string; dedicatedHostType?: string; GPUSpec?: string; localStorageAmount?: number; localStorageCapacity?: number; localStorageCategory?: string; memorySize?: number; physicalGpus?: number; sockets?: number; supportCpuOverCommitRatio?: boolean; supportedInstanceTypeFamilies?: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypeFamilies; supportedInstanceTypesList?: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypesList; totalVcpus?: number; totalVgpus?: number; static names(): { [key: string]: string } { return { cores: 'Cores', cpuOverCommitRatioRange: 'CpuOverCommitRatioRange', dedicatedHostType: 'DedicatedHostType', GPUSpec: 'GPUSpec', localStorageAmount: 'LocalStorageAmount', localStorageCapacity: 'LocalStorageCapacity', localStorageCategory: 'LocalStorageCategory', memorySize: 'MemorySize', physicalGpus: 'PhysicalGpus', sockets: 'Sockets', supportCpuOverCommitRatio: 'SupportCpuOverCommitRatio', supportedInstanceTypeFamilies: 'SupportedInstanceTypeFamilies', supportedInstanceTypesList: 'SupportedInstanceTypesList', totalVcpus: 'TotalVcpus', totalVgpus: 'TotalVgpus', }; } static types(): { [key: string]: any } { return { cores: 'number', cpuOverCommitRatioRange: 'string', dedicatedHostType: 'string', GPUSpec: 'string', localStorageAmount: 'number', localStorageCapacity: 'number', localStorageCategory: 'string', memorySize: 'number', physicalGpus: 'number', sockets: 'number', supportCpuOverCommitRatio: 'boolean', supportedInstanceTypeFamilies: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypeFamilies, supportedInstanceTypesList: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostTypeSupportedInstanceTypesList, totalVcpus: 'number', totalVgpus: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostTypesResponseBodyDedicatedHostTypes extends $tea.Model { dedicatedHostType?: DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostType[]; static names(): { [key: string]: string } { return { dedicatedHostType: 'DedicatedHostType', }; } static types(): { [key: string]: any } { return { dedicatedHostType: { 'type': 'array', 'itemType': DescribeDedicatedHostTypesResponseBodyDedicatedHostTypesDedicatedHostType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSchedulerOptions extends $tea.Model { managedPrivateSpaceId?: string; static names(): { [key: string]: string } { return { managedPrivateSpaceId: 'ManagedPrivateSpaceId', }; } static types(): { [key: string]: any } { return { managedPrivateSpaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacitiesSocketCapacity extends $tea.Model { availableMemory?: number; availableVcpu?: number; socketId?: number; totalMemory?: number; totalVcpu?: number; static names(): { [key: string]: string } { return { availableMemory: 'AvailableMemory', availableVcpu: 'AvailableVcpu', socketId: 'SocketId', totalMemory: 'TotalMemory', totalVcpu: 'TotalVcpu', }; } static types(): { [key: string]: any } { return { availableMemory: 'number', availableVcpu: 'number', socketId: 'number', totalMemory: 'number', totalVcpu: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacities extends $tea.Model { socketCapacity?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacitiesSocketCapacity[]; static names(): { [key: string]: string } { return { socketCapacity: 'SocketCapacity', }; } static types(): { [key: string]: any } { return { socketCapacity: { 'type': 'array', 'itemType': DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacitiesSocketCapacity }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacity extends $tea.Model { availableLocalStorage?: number; availableMemory?: number; availableVcpus?: number; availableVgpus?: number; localStorageCategory?: string; socketCapacities?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacities; totalLocalStorage?: number; totalMemory?: number; totalVcpus?: number; totalVgpus?: number; static names(): { [key: string]: string } { return { availableLocalStorage: 'AvailableLocalStorage', availableMemory: 'AvailableMemory', availableVcpus: 'AvailableVcpus', availableVgpus: 'AvailableVgpus', localStorageCategory: 'LocalStorageCategory', socketCapacities: 'SocketCapacities', totalLocalStorage: 'TotalLocalStorage', totalMemory: 'TotalMemory', totalVcpus: 'TotalVcpus', totalVgpus: 'TotalVgpus', }; } static types(): { [key: string]: any } { return { availableLocalStorage: 'number', availableMemory: 'number', availableVcpus: 'number', availableVgpus: 'number', localStorageCategory: 'string', socketCapacities: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacitySocketCapacities, totalLocalStorage: 'number', totalMemory: 'number', totalVcpus: 'number', totalVgpus: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostHostDetailInfo extends $tea.Model { serialNumber?: string; static names(): { [key: string]: string } { return { serialNumber: 'SerialNumber', }; } static types(): { [key: string]: any } { return { serialNumber: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstancesInstance extends $tea.Model { instanceId?: string; instanceOwnerId?: number; instanceType?: string; socketId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', instanceOwnerId: 'InstanceOwnerId', instanceType: 'InstanceType', socketId: 'SocketId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', instanceOwnerId: 'number', instanceType: 'string', socketId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstances extends $tea.Model { instance?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstancesInstance[]; static names(): { [key: string]: string } { return { instance: 'Instance', }; } static types(): { [key: string]: any } { return { instance: { 'type': 'array', 'itemType': DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstancesInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostNetworkAttributes extends $tea.Model { slbUdpTimeout?: number; udpTimeout?: number; static names(): { [key: string]: string } { return { slbUdpTimeout: 'SlbUdpTimeout', udpTimeout: 'UdpTimeout', }; } static types(): { [key: string]: any } { return { slbUdpTimeout: 'number', udpTimeout: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocksOperationLock extends $tea.Model { lockReason?: string; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocks extends $tea.Model { operationLock?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocksOperationLock[]; static names(): { [key: string]: string } { return { operationLock: 'OperationLock', }; } static types(): { [key: string]: any } { return { operationLock: { 'type': 'array', 'itemType': DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocksOperationLock }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedCustomInstanceTypeFamilies extends $tea.Model { supportedCustomInstanceTypeFamily?: string[]; static names(): { [key: string]: string } { return { supportedCustomInstanceTypeFamily: 'SupportedCustomInstanceTypeFamily', }; } static types(): { [key: string]: any } { return { supportedCustomInstanceTypeFamily: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypeFamilies extends $tea.Model { supportedInstanceTypeFamily?: string[]; static names(): { [key: string]: string } { return { supportedInstanceTypeFamily: 'SupportedInstanceTypeFamily', }; } static types(): { [key: string]: any } { return { supportedInstanceTypeFamily: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypesList extends $tea.Model { supportedInstanceTypesList?: string[]; static names(): { [key: string]: string } { return { supportedInstanceTypesList: 'SupportedInstanceTypesList', }; } static types(): { [key: string]: any } { return { supportedInstanceTypesList: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTags extends $tea.Model { tag?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHost extends $tea.Model { schedulerOptions?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSchedulerOptions; actionOnMaintenance?: string; autoPlacement?: string; autoReleaseTime?: string; capacity?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacity; chargeType?: string; cores?: number; cpuOverCommitRatio?: number; creationTime?: string; dedicatedHostClusterId?: string; dedicatedHostId?: string; dedicatedHostName?: string; dedicatedHostOwnerId?: number; dedicatedHostType?: string; description?: string; expiredTime?: string; GPUSpec?: string; hostDetailInfo?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostHostDetailInfo; instances?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstances; machineId?: string; networkAttributes?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostNetworkAttributes; operationLocks?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocks; physicalGpus?: number; regionId?: string; resourceGroupId?: string; saleCycle?: string; sockets?: number; status?: string; supportedCustomInstanceTypeFamilies?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedCustomInstanceTypeFamilies; supportedInstanceTypeFamilies?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypeFamilies; supportedInstanceTypesList?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypesList; tags?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTags; zoneId?: string; static names(): { [key: string]: string } { return { schedulerOptions: 'SchedulerOptions', actionOnMaintenance: 'ActionOnMaintenance', autoPlacement: 'AutoPlacement', autoReleaseTime: 'AutoReleaseTime', capacity: 'Capacity', chargeType: 'ChargeType', cores: 'Cores', cpuOverCommitRatio: 'CpuOverCommitRatio', creationTime: 'CreationTime', dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostId: 'DedicatedHostId', dedicatedHostName: 'DedicatedHostName', dedicatedHostOwnerId: 'DedicatedHostOwnerId', dedicatedHostType: 'DedicatedHostType', description: 'Description', expiredTime: 'ExpiredTime', GPUSpec: 'GPUSpec', hostDetailInfo: 'HostDetailInfo', instances: 'Instances', machineId: 'MachineId', networkAttributes: 'NetworkAttributes', operationLocks: 'OperationLocks', physicalGpus: 'PhysicalGpus', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', saleCycle: 'SaleCycle', sockets: 'Sockets', status: 'Status', supportedCustomInstanceTypeFamilies: 'SupportedCustomInstanceTypeFamilies', supportedInstanceTypeFamilies: 'SupportedInstanceTypeFamilies', supportedInstanceTypesList: 'SupportedInstanceTypesList', tags: 'Tags', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { schedulerOptions: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSchedulerOptions, actionOnMaintenance: 'string', autoPlacement: 'string', autoReleaseTime: 'string', capacity: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostCapacity, chargeType: 'string', cores: 'number', cpuOverCommitRatio: 'number', creationTime: 'string', dedicatedHostClusterId: 'string', dedicatedHostId: 'string', dedicatedHostName: 'string', dedicatedHostOwnerId: 'number', dedicatedHostType: 'string', description: 'string', expiredTime: 'string', GPUSpec: 'string', hostDetailInfo: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostHostDetailInfo, instances: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostInstances, machineId: 'string', networkAttributes: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostNetworkAttributes, operationLocks: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostOperationLocks, physicalGpus: 'number', regionId: 'string', resourceGroupId: 'string', saleCycle: 'string', sockets: 'number', status: 'string', supportedCustomInstanceTypeFamilies: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedCustomInstanceTypeFamilies, supportedInstanceTypeFamilies: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypeFamilies, supportedInstanceTypesList: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostSupportedInstanceTypesList, tags: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHostTags, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDedicatedHostsResponseBodyDedicatedHosts extends $tea.Model { dedicatedHost?: DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHost[]; static names(): { [key: string]: string } { return { dedicatedHost: 'DedicatedHost', }; } static types(): { [key: string]: any } { return { dedicatedHost: { 'type': 'array', 'itemType': DescribeDedicatedHostsResponseBodyDedicatedHostsDedicatedHost }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponseBodyDemandsDemandSupplyInfosSupplyInfo extends $tea.Model { amount?: number; privatePoolId?: string; supplyEndTime?: string; supplyStartTime?: string; supplyStatus?: string; static names(): { [key: string]: string } { return { amount: 'Amount', privatePoolId: 'PrivatePoolId', supplyEndTime: 'SupplyEndTime', supplyStartTime: 'SupplyStartTime', supplyStatus: 'SupplyStatus', }; } static types(): { [key: string]: any } { return { amount: 'number', privatePoolId: 'string', supplyEndTime: 'string', supplyStartTime: 'string', supplyStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponseBodyDemandsDemandSupplyInfos extends $tea.Model { supplyInfo?: DescribeDemandsResponseBodyDemandsDemandSupplyInfosSupplyInfo[]; static names(): { [key: string]: string } { return { supplyInfo: 'SupplyInfo', }; } static types(): { [key: string]: any } { return { supplyInfo: { 'type': 'array', 'itemType': DescribeDemandsResponseBodyDemandsDemandSupplyInfosSupplyInfo }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponseBodyDemandsDemand extends $tea.Model { availableAmount?: number; comment?: string; deliveringAmount?: number; demandDescription?: string; demandId?: string; demandName?: string; demandStatus?: string; demandTime?: string; endTime?: string; instanceChargeType?: string; instanceType?: string; instanceTypeFamily?: string; period?: number; periodUnit?: string; startTime?: string; supplyInfos?: DescribeDemandsResponseBodyDemandsDemandSupplyInfos; totalAmount?: number; usedAmount?: number; zoneId?: string; static names(): { [key: string]: string } { return { availableAmount: 'AvailableAmount', comment: 'Comment', deliveringAmount: 'DeliveringAmount', demandDescription: 'DemandDescription', demandId: 'DemandId', demandName: 'DemandName', demandStatus: 'DemandStatus', demandTime: 'DemandTime', endTime: 'EndTime', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', period: 'Period', periodUnit: 'PeriodUnit', startTime: 'StartTime', supplyInfos: 'SupplyInfos', totalAmount: 'TotalAmount', usedAmount: 'UsedAmount', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableAmount: 'number', comment: 'string', deliveringAmount: 'number', demandDescription: 'string', demandId: 'string', demandName: 'string', demandStatus: 'string', demandTime: 'string', endTime: 'string', instanceChargeType: 'string', instanceType: 'string', instanceTypeFamily: 'string', period: 'number', periodUnit: 'string', startTime: 'string', supplyInfos: DescribeDemandsResponseBodyDemandsDemandSupplyInfos, totalAmount: 'number', usedAmount: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDemandsResponseBodyDemands extends $tea.Model { demand?: DescribeDemandsResponseBodyDemandsDemand[]; static names(): { [key: string]: string } { return { demand: 'Demand', }; } static types(): { [key: string]: any } { return { demand: { 'type': 'array', 'itemType': DescribeDemandsResponseBodyDemandsDemand }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacitiesCapacity extends $tea.Model { availableAmount?: number; usedAmount?: number; zoneId?: string; static names(): { [key: string]: string } { return { availableAmount: 'AvailableAmount', usedAmount: 'UsedAmount', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableAmount: 'number', usedAmount: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacities extends $tea.Model { capacity?: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacitiesCapacity[]; static names(): { [key: string]: string } { return { capacity: 'Capacity', }; } static types(): { [key: string]: any } { return { capacity: { 'type': 'array', 'itemType': DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacitiesCapacity }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetInstanceIds extends $tea.Model { instanceId?: string[]; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { instanceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSet extends $tea.Model { capacities?: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacities; creationTime?: string; deploymentSetDescription?: string; deploymentSetId?: string; deploymentSetName?: string; deploymentStrategy?: string; domain?: string; granularity?: string; groupCount?: number; instanceAmount?: number; instanceIds?: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetInstanceIds; strategy?: string; static names(): { [key: string]: string } { return { capacities: 'Capacities', creationTime: 'CreationTime', deploymentSetDescription: 'DeploymentSetDescription', deploymentSetId: 'DeploymentSetId', deploymentSetName: 'DeploymentSetName', deploymentStrategy: 'DeploymentStrategy', domain: 'Domain', granularity: 'Granularity', groupCount: 'GroupCount', instanceAmount: 'InstanceAmount', instanceIds: 'InstanceIds', strategy: 'Strategy', }; } static types(): { [key: string]: any } { return { capacities: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacities, creationTime: 'string', deploymentSetDescription: 'string', deploymentSetId: 'string', deploymentSetName: 'string', deploymentStrategy: 'string', domain: 'string', granularity: 'string', groupCount: 'number', instanceAmount: 'number', instanceIds: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSetInstanceIds, strategy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDeploymentSetsResponseBodyDeploymentSets extends $tea.Model { deploymentSet?: DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSet[]; static names(): { [key: string]: string } { return { deploymentSet: 'DeploymentSet', }; } static types(): { [key: string]: any } { return { deploymentSet: { 'type': 'array', 'itemType': DescribeDeploymentSetsResponseBodyDeploymentSetsDeploymentSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricSetsResponseBodyMetricSets extends $tea.Model { description?: string; metricIds?: string[]; metricSetId?: string; metricSetName?: string; resourceType?: string; type?: string; static names(): { [key: string]: string } { return { description: 'Description', metricIds: 'MetricIds', metricSetId: 'MetricSetId', metricSetName: 'MetricSetName', resourceType: 'ResourceType', type: 'Type', }; } static types(): { [key: string]: any } { return { description: 'string', metricIds: { 'type': 'array', 'itemType': 'string' }, metricSetId: 'string', metricSetName: 'string', resourceType: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticMetricsResponseBodyMetrics extends $tea.Model { description?: string; guestMetric?: boolean; metricCategory?: string; metricId?: string; metricName?: string; resourceType?: string; supportedOperatingSystem?: string; static names(): { [key: string]: string } { return { description: 'Description', guestMetric: 'GuestMetric', metricCategory: 'MetricCategory', metricId: 'MetricId', metricName: 'MetricName', resourceType: 'ResourceType', supportedOperatingSystem: 'SupportedOperatingSystem', }; } static types(): { [key: string]: any } { return { description: 'string', guestMetric: 'boolean', metricCategory: 'string', metricId: 'string', metricName: 'string', resourceType: 'string', supportedOperatingSystem: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssuesIssue extends $tea.Model { additional?: string; issueId?: string; occurrenceTime?: string; severity?: string; static names(): { [key: string]: string } { return { additional: 'Additional', issueId: 'IssueId', occurrenceTime: 'OccurrenceTime', severity: 'Severity', }; } static types(): { [key: string]: any } { return { additional: 'string', issueId: 'string', occurrenceTime: 'string', severity: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssues extends $tea.Model { issue?: DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssuesIssue[]; static names(): { [key: string]: string } { return { issue: 'Issue', }; } static types(): { [key: string]: any } { return { issue: { 'type': 'array', 'itemType': DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssuesIssue }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResult extends $tea.Model { issues?: DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssues; metricCategory?: string; metricId?: string; severity?: string; status?: string; static names(): { [key: string]: string } { return { issues: 'Issues', metricCategory: 'MetricCategory', metricId: 'MetricId', severity: 'Severity', status: 'Status', }; } static types(): { [key: string]: any } { return { issues: DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResultIssues, metricCategory: 'string', metricId: 'string', severity: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportAttributesResponseBodyMetricResults extends $tea.Model { metricResult?: DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResult[]; static names(): { [key: string]: string } { return { metricResult: 'MetricResult', }; } static types(): { [key: string]: any } { return { metricResult: { 'type': 'array', 'itemType': DescribeDiagnosticReportAttributesResponseBodyMetricResultsMetricResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponseBodyReportsReportIssuesIssue extends $tea.Model { issueId?: string; metricCategory?: string; metricId?: string; severity?: string; static names(): { [key: string]: string } { return { issueId: 'IssueId', metricCategory: 'MetricCategory', metricId: 'MetricId', severity: 'Severity', }; } static types(): { [key: string]: any } { return { issueId: 'string', metricCategory: 'string', metricId: 'string', severity: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponseBodyReportsReportIssues extends $tea.Model { issue?: DescribeDiagnosticReportsResponseBodyReportsReportIssuesIssue[]; static names(): { [key: string]: string } { return { issue: 'Issue', }; } static types(): { [key: string]: any } { return { issue: { 'type': 'array', 'itemType': DescribeDiagnosticReportsResponseBodyReportsReportIssuesIssue }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponseBodyReportsReport extends $tea.Model { creationTime?: string; endTime?: string; finishedTime?: string; issues?: DescribeDiagnosticReportsResponseBodyReportsReportIssues; metricSetId?: string; reportId?: string; resourceId?: string; resourceType?: string; severity?: string; startTime?: string; status?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', endTime: 'EndTime', finishedTime: 'FinishedTime', issues: 'Issues', metricSetId: 'MetricSetId', reportId: 'ReportId', resourceId: 'ResourceId', resourceType: 'ResourceType', severity: 'Severity', startTime: 'StartTime', status: 'Status', }; } static types(): { [key: string]: any } { return { creationTime: 'string', endTime: 'string', finishedTime: 'string', issues: DescribeDiagnosticReportsResponseBodyReportsReportIssues, metricSetId: 'string', reportId: 'string', resourceId: 'string', resourceType: 'string', severity: 'string', startTime: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiagnosticReportsResponseBodyReports extends $tea.Model { report?: DescribeDiagnosticReportsResponseBodyReportsReport[]; static names(): { [key: string]: string } { return { report: 'Report', }; } static types(): { [key: string]: any } { return { report: { 'type': 'array', 'itemType': DescribeDiagnosticReportsResponseBodyReportsReport }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskMonitorDataResponseBodyMonitorDataDiskMonitorData extends $tea.Model { BPSRead?: number; BPSTotal?: number; BPSWrite?: number; diskId?: string; IOPSRead?: number; IOPSTotal?: number; IOPSWrite?: number; latencyRead?: number; latencyWrite?: number; timeStamp?: string; static names(): { [key: string]: string } { return { BPSRead: 'BPSRead', BPSTotal: 'BPSTotal', BPSWrite: 'BPSWrite', diskId: 'DiskId', IOPSRead: 'IOPSRead', IOPSTotal: 'IOPSTotal', IOPSWrite: 'IOPSWrite', latencyRead: 'LatencyRead', latencyWrite: 'LatencyWrite', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { BPSRead: 'number', BPSTotal: 'number', BPSWrite: 'number', diskId: 'string', IOPSRead: 'number', IOPSTotal: 'number', IOPSWrite: 'number', latencyRead: 'number', latencyWrite: 'number', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDiskMonitorDataResponseBodyMonitorData extends $tea.Model { diskMonitorData?: DescribeDiskMonitorDataResponseBodyMonitorDataDiskMonitorData[]; static names(): { [key: string]: string } { return { diskMonitorData: 'DiskMonitorData', }; } static types(): { [key: string]: any } { return { diskMonitorData: { 'type': 'array', 'itemType': DescribeDiskMonitorDataResponseBodyMonitorDataDiskMonitorData }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskAttachmentsAttachment extends $tea.Model { attachedTime?: string; device?: string; instanceId?: string; static names(): { [key: string]: string } { return { attachedTime: 'AttachedTime', device: 'Device', instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { attachedTime: 'string', device: 'string', instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskAttachments extends $tea.Model { attachment?: DescribeDisksResponseBodyDisksDiskAttachmentsAttachment[]; static names(): { [key: string]: string } { return { attachment: 'Attachment', }; } static types(): { [key: string]: any } { return { attachment: { 'type': 'array', 'itemType': DescribeDisksResponseBodyDisksDiskAttachmentsAttachment }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskMountInstancesMountInstance extends $tea.Model { attachedTime?: string; device?: string; instanceId?: string; static names(): { [key: string]: string } { return { attachedTime: 'AttachedTime', device: 'Device', instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { attachedTime: 'string', device: 'string', instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskMountInstances extends $tea.Model { mountInstance?: DescribeDisksResponseBodyDisksDiskMountInstancesMountInstance[]; static names(): { [key: string]: string } { return { mountInstance: 'MountInstance', }; } static types(): { [key: string]: any } { return { mountInstance: { 'type': 'array', 'itemType': DescribeDisksResponseBodyDisksDiskMountInstancesMountInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskOperationLocksOperationLock extends $tea.Model { lockReason?: string; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskOperationLocks extends $tea.Model { operationLock?: DescribeDisksResponseBodyDisksDiskOperationLocksOperationLock[]; static names(): { [key: string]: string } { return { operationLock: 'OperationLock', }; } static types(): { [key: string]: any } { return { operationLock: { 'type': 'array', 'itemType': DescribeDisksResponseBodyDisksDiskOperationLocksOperationLock }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDiskTags extends $tea.Model { tag?: DescribeDisksResponseBodyDisksDiskTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeDisksResponseBodyDisksDiskTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisksDisk extends $tea.Model { attachedTime?: string; attachments?: DescribeDisksResponseBodyDisksDiskAttachments; autoSnapshotPolicyId?: string; bdfId?: string; burstingEnabled?: boolean; category?: string; creationTime?: string; deleteAutoSnapshot?: boolean; deleteWithInstance?: boolean; description?: string; detachedTime?: string; device?: string; diskChargeType?: string; diskId?: string; diskName?: string; enableAutoSnapshot?: boolean; enableAutomatedSnapshotPolicy?: boolean; encrypted?: boolean; expiredTime?: string; IOPS?: number; IOPSRead?: number; IOPSWrite?: number; imageId?: string; instanceId?: string; KMSKeyId?: string; mountInstanceNum?: number; mountInstances?: DescribeDisksResponseBodyDisksDiskMountInstances; multiAttach?: string; operationLocks?: DescribeDisksResponseBodyDisksDiskOperationLocks; performanceLevel?: string; portable?: boolean; productCode?: string; provisionedIops?: number; regionId?: string; resourceGroupId?: string; serialNumber?: string; size?: number; sourceSnapshotId?: string; status?: string; storageClusterId?: string; storageSetId?: string; storageSetPartitionNumber?: number; tags?: DescribeDisksResponseBodyDisksDiskTags; throughput?: number; throughputRead?: number; throughputWrite?: number; type?: string; zoneId?: string; static names(): { [key: string]: string } { return { attachedTime: 'AttachedTime', attachments: 'Attachments', autoSnapshotPolicyId: 'AutoSnapshotPolicyId', bdfId: 'BdfId', burstingEnabled: 'BurstingEnabled', category: 'Category', creationTime: 'CreationTime', deleteAutoSnapshot: 'DeleteAutoSnapshot', deleteWithInstance: 'DeleteWithInstance', description: 'Description', detachedTime: 'DetachedTime', device: 'Device', diskChargeType: 'DiskChargeType', diskId: 'DiskId', diskName: 'DiskName', enableAutoSnapshot: 'EnableAutoSnapshot', enableAutomatedSnapshotPolicy: 'EnableAutomatedSnapshotPolicy', encrypted: 'Encrypted', expiredTime: 'ExpiredTime', IOPS: 'IOPS', IOPSRead: 'IOPSRead', IOPSWrite: 'IOPSWrite', imageId: 'ImageId', instanceId: 'InstanceId', KMSKeyId: 'KMSKeyId', mountInstanceNum: 'MountInstanceNum', mountInstances: 'MountInstances', multiAttach: 'MultiAttach', operationLocks: 'OperationLocks', performanceLevel: 'PerformanceLevel', portable: 'Portable', productCode: 'ProductCode', provisionedIops: 'ProvisionedIops', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', serialNumber: 'SerialNumber', size: 'Size', sourceSnapshotId: 'SourceSnapshotId', status: 'Status', storageClusterId: 'StorageClusterId', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', tags: 'Tags', throughput: 'Throughput', throughputRead: 'ThroughputRead', throughputWrite: 'ThroughputWrite', type: 'Type', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { attachedTime: 'string', attachments: DescribeDisksResponseBodyDisksDiskAttachments, autoSnapshotPolicyId: 'string', bdfId: 'string', burstingEnabled: 'boolean', category: 'string', creationTime: 'string', deleteAutoSnapshot: 'boolean', deleteWithInstance: 'boolean', description: 'string', detachedTime: 'string', device: 'string', diskChargeType: 'string', diskId: 'string', diskName: 'string', enableAutoSnapshot: 'boolean', enableAutomatedSnapshotPolicy: 'boolean', encrypted: 'boolean', expiredTime: 'string', IOPS: 'number', IOPSRead: 'number', IOPSWrite: 'number', imageId: 'string', instanceId: 'string', KMSKeyId: 'string', mountInstanceNum: 'number', mountInstances: DescribeDisksResponseBodyDisksDiskMountInstances, multiAttach: 'string', operationLocks: DescribeDisksResponseBodyDisksDiskOperationLocks, performanceLevel: 'string', portable: 'boolean', productCode: 'string', provisionedIops: 'number', regionId: 'string', resourceGroupId: 'string', serialNumber: 'string', size: 'number', sourceSnapshotId: 'string', status: 'string', storageClusterId: 'string', storageSetId: 'string', storageSetPartitionNumber: 'number', tags: DescribeDisksResponseBodyDisksDiskTags, throughput: 'number', throughputRead: 'number', throughputWrite: 'number', type: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksResponseBodyDisks extends $tea.Model { disk?: DescribeDisksResponseBodyDisksDisk[]; static names(): { [key: string]: string } { return { disk: 'Disk', }; } static types(): { [key: string]: any } { return { disk: { 'type': 'array', 'itemType': DescribeDisksResponseBodyDisksDisk }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusRequestEventTime extends $tea.Model { end?: string; start?: string; static names(): { [key: string]: string } { return { end: 'End', start: 'Start', }; } static types(): { [key: string]: any } { return { end: 'string', start: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventTypeEventType extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventType extends $tea.Model { eventEndTime?: string; eventId?: string; eventTime?: string; eventType?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventTypeEventType; impactLevel?: string; static names(): { [key: string]: string } { return { eventEndTime: 'EventEndTime', eventId: 'EventId', eventTime: 'EventTime', eventType: 'EventType', impactLevel: 'ImpactLevel', }; } static types(): { [key: string]: any } { return { eventEndTime: 'string', eventId: 'string', eventTime: 'string', eventType: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventTypeEventType, impactLevel: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSet extends $tea.Model { diskEventType?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventType[]; static names(): { [key: string]: string } { return { diskEventType: 'DiskEventType', }; } static types(): { [key: string]: any } { return { diskEventType: { 'type': 'array', 'itemType': DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSetDiskEventType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeHealthStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusType extends $tea.Model { device?: string; diskEventSet?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSet; diskId?: string; healthStatus?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeHealthStatus; instanceId?: string; status?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeStatus; static names(): { [key: string]: string } { return { device: 'Device', diskEventSet: 'DiskEventSet', diskId: 'DiskId', healthStatus: 'HealthStatus', instanceId: 'InstanceId', status: 'Status', }; } static types(): { [key: string]: any } { return { device: 'string', diskEventSet: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeDiskEventSet, diskId: 'string', healthStatus: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeHealthStatus, instanceId: 'string', status: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusTypeStatus, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeDisksFullStatusResponseBodyDiskFullStatusSet extends $tea.Model { diskFullStatusType?: DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusType[]; static names(): { [key: string]: string } { return { diskFullStatusType: 'DiskFullStatusType', }; } static types(): { [key: string]: any } { return { diskFullStatusType: { 'type': 'array', 'itemType': DescribeDisksFullStatusResponseBodyDiskFullStatusSetDiskFullStatusType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocksLockReason extends $tea.Model { lockReason?: string; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocks extends $tea.Model { lockReason?: DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocksLockReason[]; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: { 'type': 'array', 'itemType': DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocksLockReason }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponseBodyEipAddressesEipAddress extends $tea.Model { allocationId?: string; allocationTime?: string; bandwidth?: string; chargeType?: string; eipBandwidth?: string; expiredTime?: string; instanceId?: string; instanceType?: string; internetChargeType?: string; ipAddress?: string; operationLocks?: DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocks; regionId?: string; status?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', allocationTime: 'AllocationTime', bandwidth: 'Bandwidth', chargeType: 'ChargeType', eipBandwidth: 'EipBandwidth', expiredTime: 'ExpiredTime', instanceId: 'InstanceId', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', ipAddress: 'IpAddress', operationLocks: 'OperationLocks', regionId: 'RegionId', status: 'Status', }; } static types(): { [key: string]: any } { return { allocationId: 'string', allocationTime: 'string', bandwidth: 'string', chargeType: 'string', eipBandwidth: 'string', expiredTime: 'string', instanceId: 'string', instanceType: 'string', internetChargeType: 'string', ipAddress: 'string', operationLocks: DescribeEipAddressesResponseBodyEipAddressesEipAddressOperationLocks, regionId: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipAddressesResponseBodyEipAddresses extends $tea.Model { eipAddress?: DescribeEipAddressesResponseBodyEipAddressesEipAddress[]; static names(): { [key: string]: string } { return { eipAddress: 'EipAddress', }; } static types(): { [key: string]: any } { return { eipAddress: { 'type': 'array', 'itemType': DescribeEipAddressesResponseBodyEipAddressesEipAddress }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData extends $tea.Model { eipBandwidth?: number; eipFlow?: number; eipPackets?: number; eipRX?: number; eipTX?: number; timeStamp?: string; static names(): { [key: string]: string } { return { eipBandwidth: 'EipBandwidth', eipFlow: 'EipFlow', eipPackets: 'EipPackets', eipRX: 'EipRX', eipTX: 'EipTX', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { eipBandwidth: 'number', eipFlow: 'number', eipPackets: 'number', eipRX: 'number', eipTX: 'number', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEipMonitorDataResponseBodyEipMonitorDatas extends $tea.Model { eipMonitorData?: DescribeEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData[]; static names(): { [key: string]: string } { return { eipMonitorData: 'EipMonitorData', }; } static types(): { [key: string]: any } { return { eipMonitorData: { 'type': 'array', 'itemType': DescribeEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesRequestPrivatePoolOptions extends $tea.Model { id?: string; static names(): { [key: string]: string } { return { id: 'Id', }; } static types(): { [key: string]: any } { return { id: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItemInstanceIdSet extends $tea.Model { instanceId?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItem extends $tea.Model { instanceIdSet?: DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItemInstanceIdSet[]; static names(): { [key: string]: string } { return { instanceIdSet: 'InstanceIdSet', }; } static types(): { [key: string]: any } { return { instanceIdSet: { 'type': 'array', 'itemType': DescribeElasticityAssuranceInstancesResponseBodyElasticityAssuranceItemInstanceIdSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesRequestPrivatePoolOptions extends $tea.Model { ids?: string; static names(): { [key: string]: string } { return { ids: 'Ids', }; } static types(): { [key: string]: any } { return { ids: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource extends $tea.Model { instanceType?: string; totalAmount?: number; usedAmount?: number; zoneId?: string; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', totalAmount: 'TotalAmount', usedAmount: 'UsedAmount', zoneId: 'zoneId', }; } static types(): { [key: string]: any } { return { instanceType: 'string', totalAmount: 'number', usedAmount: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResources extends $tea.Model { allocatedResource?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource[]; static names(): { [key: string]: string } { return { allocatedResource: 'AllocatedResource', }; } static types(): { [key: string]: any } { return { allocatedResource: { 'type': 'array', 'itemType': DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResourcesAllocatedResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTags extends $tea.Model { tag?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItem extends $tea.Model { allocatedResources?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResources; description?: string; endTime?: string; instanceChargeType?: string; latestStartTime?: string; privatePoolOptionsId?: string; privatePoolOptionsMatchCriteria?: string; privatePoolOptionsName?: string; regionId?: string; resourceGroupId?: string; startTime?: string; startTimeType?: string; status?: string; tags?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTags; totalAssuranceTimes?: string; usedAssuranceTimes?: number; static names(): { [key: string]: string } { return { allocatedResources: 'AllocatedResources', description: 'Description', endTime: 'EndTime', instanceChargeType: 'InstanceChargeType', latestStartTime: 'LatestStartTime', privatePoolOptionsId: 'PrivatePoolOptionsId', privatePoolOptionsMatchCriteria: 'PrivatePoolOptionsMatchCriteria', privatePoolOptionsName: 'PrivatePoolOptionsName', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', startTime: 'StartTime', startTimeType: 'StartTimeType', status: 'Status', tags: 'Tags', totalAssuranceTimes: 'TotalAssuranceTimes', usedAssuranceTimes: 'UsedAssuranceTimes', }; } static types(): { [key: string]: any } { return { allocatedResources: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemAllocatedResources, description: 'string', endTime: 'string', instanceChargeType: 'string', latestStartTime: 'string', privatePoolOptionsId: 'string', privatePoolOptionsMatchCriteria: 'string', privatePoolOptionsName: 'string', regionId: 'string', resourceGroupId: 'string', startTime: 'string', startTimeType: 'string', status: 'string', tags: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItemTags, totalAssuranceTimes: 'string', usedAssuranceTimes: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeElasticityAssurancesResponseBodyElasticityAssuranceSet extends $tea.Model { elasticityAssuranceItem?: DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItem[]; static names(): { [key: string]: string } { return { elasticityAssuranceItem: 'ElasticityAssuranceItem', }; } static types(): { [key: string]: any } { return { elasticityAssuranceItem: { 'type': 'array', 'itemType': DescribeElasticityAssurancesResponseBodyElasticityAssuranceSetElasticityAssuranceItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEniMonitorDataResponseBodyMonitorDataEniMonitorData extends $tea.Model { dropPacketRx?: string; dropPacketTx?: string; eniId?: string; intranetRx?: string; intranetTx?: string; packetRx?: string; packetTx?: string; timeStamp?: string; static names(): { [key: string]: string } { return { dropPacketRx: 'DropPacketRx', dropPacketTx: 'DropPacketTx', eniId: 'EniId', intranetRx: 'IntranetRx', intranetTx: 'IntranetTx', packetRx: 'PacketRx', packetTx: 'PacketTx', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { dropPacketRx: 'string', dropPacketTx: 'string', eniId: 'string', intranetRx: 'string', intranetTx: 'string', packetRx: 'string', packetTx: 'string', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeEniMonitorDataResponseBodyMonitorData extends $tea.Model { eniMonitorData?: DescribeEniMonitorDataResponseBodyMonitorDataEniMonitorData[]; static names(): { [key: string]: string } { return { eniMonitorData: 'EniMonitorData', }; } static types(): { [key: string]: any } { return { eniMonitorData: { 'type': 'array', 'itemType': DescribeEniMonitorDataResponseBodyMonitorDataEniMonitorData }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeForwardTableEntriesResponseBodyForwardTableEntriesForwardTableEntry extends $tea.Model { externalIp?: string; externalPort?: string; forwardEntryId?: string; forwardTableId?: string; internalIp?: string; internalPort?: string; ipProtocol?: string; status?: string; static names(): { [key: string]: string } { return { externalIp: 'ExternalIp', externalPort: 'ExternalPort', forwardEntryId: 'ForwardEntryId', forwardTableId: 'ForwardTableId', internalIp: 'InternalIp', internalPort: 'InternalPort', ipProtocol: 'IpProtocol', status: 'Status', }; } static types(): { [key: string]: any } { return { externalIp: 'string', externalPort: 'string', forwardEntryId: 'string', forwardTableId: 'string', internalIp: 'string', internalPort: 'string', ipProtocol: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeForwardTableEntriesResponseBodyForwardTableEntries extends $tea.Model { forwardTableEntry?: DescribeForwardTableEntriesResponseBodyForwardTableEntriesForwardTableEntry[]; static names(): { [key: string]: string } { return { forwardTableEntry: 'ForwardTableEntry', }; } static types(): { [key: string]: any } { return { forwardTableEntry: { 'type': 'array', 'itemType': DescribeForwardTableEntriesResponseBodyForwardTableEntriesForwardTableEntry }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponseBodyHaVipsHaVipAssociatedEipAddresses extends $tea.Model { associatedEipAddresse?: string[]; static names(): { [key: string]: string } { return { associatedEipAddresse: 'associatedEipAddresse', }; } static types(): { [key: string]: any } { return { associatedEipAddresse: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponseBodyHaVipsHaVipAssociatedInstances extends $tea.Model { associatedInstance?: string[]; static names(): { [key: string]: string } { return { associatedInstance: 'associatedInstance', }; } static types(): { [key: string]: any } { return { associatedInstance: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponseBodyHaVipsHaVip extends $tea.Model { associatedEipAddresses?: DescribeHaVipsResponseBodyHaVipsHaVipAssociatedEipAddresses; associatedInstances?: DescribeHaVipsResponseBodyHaVipsHaVipAssociatedInstances; createTime?: string; description?: string; haVipId?: string; ipAddress?: string; masterInstanceId?: string; regionId?: string; status?: string; vSwitchId?: string; vpcId?: string; static names(): { [key: string]: string } { return { associatedEipAddresses: 'AssociatedEipAddresses', associatedInstances: 'AssociatedInstances', createTime: 'CreateTime', description: 'Description', haVipId: 'HaVipId', ipAddress: 'IpAddress', masterInstanceId: 'MasterInstanceId', regionId: 'RegionId', status: 'Status', vSwitchId: 'VSwitchId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { associatedEipAddresses: DescribeHaVipsResponseBodyHaVipsHaVipAssociatedEipAddresses, associatedInstances: DescribeHaVipsResponseBodyHaVipsHaVipAssociatedInstances, createTime: 'string', description: 'string', haVipId: 'string', ipAddress: 'string', masterInstanceId: 'string', regionId: 'string', status: 'string', vSwitchId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHaVipsResponseBodyHaVips extends $tea.Model { haVip?: DescribeHaVipsResponseBodyHaVipsHaVip[]; static names(): { [key: string]: string } { return { haVip: 'HaVip', }; } static types(): { [key: string]: any } { return { haVip: { 'type': 'array', 'itemType': DescribeHaVipsResponseBodyHaVipsHaVip }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHpcClustersResponseBodyHpcClustersHpcCluster extends $tea.Model { description?: string; hpcClusterId?: string; name?: string; static names(): { [key: string]: string } { return { description: 'Description', hpcClusterId: 'HpcClusterId', name: 'Name', }; } static types(): { [key: string]: any } { return { description: 'string', hpcClusterId: 'string', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeHpcClustersResponseBodyHpcClusters extends $tea.Model { hpcCluster?: DescribeHpcClustersResponseBodyHpcClustersHpcCluster[]; static names(): { [key: string]: string } { return { hpcCluster: 'HpcCluster', }; } static types(): { [key: string]: any } { return { hpcCluster: { 'type': 'array', 'itemType': DescribeHpcClustersResponseBodyHpcClustersHpcCluster }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBodyImageComponentImageComponentSetTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBodyImageComponentImageComponentSetTags extends $tea.Model { tag?: DescribeImageComponentsResponseBodyImageComponentImageComponentSetTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeImageComponentsResponseBodyImageComponentImageComponentSetTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBodyImageComponentImageComponentSet extends $tea.Model { componentType?: string; content?: string; creationTime?: string; description?: string; imageComponentId?: string; name?: string; owner?: string; resourceGroupId?: string; systemType?: string; tags?: DescribeImageComponentsResponseBodyImageComponentImageComponentSetTags; static names(): { [key: string]: string } { return { componentType: 'ComponentType', content: 'Content', creationTime: 'CreationTime', description: 'Description', imageComponentId: 'ImageComponentId', name: 'Name', owner: 'Owner', resourceGroupId: 'ResourceGroupId', systemType: 'SystemType', tags: 'Tags', }; } static types(): { [key: string]: any } { return { componentType: 'string', content: 'string', creationTime: 'string', description: 'string', imageComponentId: 'string', name: 'string', owner: 'string', resourceGroupId: 'string', systemType: 'string', tags: DescribeImageComponentsResponseBodyImageComponentImageComponentSetTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageComponentsResponseBodyImageComponent extends $tea.Model { imageComponentSet?: DescribeImageComponentsResponseBodyImageComponentImageComponentSet[]; static names(): { [key: string]: string } { return { imageComponentSet: 'ImageComponentSet', }; } static types(): { [key: string]: any } { return { imageComponentSet: { 'type': 'array', 'itemType': DescribeImageComponentsResponseBodyImageComponentImageComponentSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBodyImageDiskDeviceMappingsDiskDeviceMapping extends $tea.Model { device?: string; format?: string; importOSSBucket?: string; importOSSObject?: string; size?: string; snapshotId?: string; type?: string; static names(): { [key: string]: string } { return { device: 'Device', format: 'Format', importOSSBucket: 'ImportOSSBucket', importOSSObject: 'ImportOSSObject', size: 'Size', snapshotId: 'SnapshotId', type: 'Type', }; } static types(): { [key: string]: any } { return { device: 'string', format: 'string', importOSSBucket: 'string', importOSSObject: 'string', size: 'string', snapshotId: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBodyImageDiskDeviceMappings extends $tea.Model { diskDeviceMapping?: DescribeImageFromFamilyResponseBodyImageDiskDeviceMappingsDiskDeviceMapping[]; static names(): { [key: string]: string } { return { diskDeviceMapping: 'DiskDeviceMapping', }; } static types(): { [key: string]: any } { return { diskDeviceMapping: { 'type': 'array', 'itemType': DescribeImageFromFamilyResponseBodyImageDiskDeviceMappingsDiskDeviceMapping }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBodyImageTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBodyImageTags extends $tea.Model { tag?: DescribeImageFromFamilyResponseBodyImageTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeImageFromFamilyResponseBodyImageTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageFromFamilyResponseBodyImage extends $tea.Model { architecture?: string; creationTime?: string; description?: string; diskDeviceMappings?: DescribeImageFromFamilyResponseBodyImageDiskDeviceMappings; imageFamily?: string; imageId?: string; imageName?: string; imageOwnerAlias?: string; imageVersion?: string; isCopied?: boolean; isSelfShared?: string; isSubscribed?: boolean; isSupportCloudinit?: boolean; isSupportIoOptimized?: boolean; OSName?: string; OSType?: string; platform?: string; productCode?: string; progress?: string; size?: number; status?: string; tags?: DescribeImageFromFamilyResponseBodyImageTags; usage?: string; static names(): { [key: string]: string } { return { architecture: 'Architecture', creationTime: 'CreationTime', description: 'Description', diskDeviceMappings: 'DiskDeviceMappings', imageFamily: 'ImageFamily', imageId: 'ImageId', imageName: 'ImageName', imageOwnerAlias: 'ImageOwnerAlias', imageVersion: 'ImageVersion', isCopied: 'IsCopied', isSelfShared: 'IsSelfShared', isSubscribed: 'IsSubscribed', isSupportCloudinit: 'IsSupportCloudinit', isSupportIoOptimized: 'IsSupportIoOptimized', OSName: 'OSName', OSType: 'OSType', platform: 'Platform', productCode: 'ProductCode', progress: 'Progress', size: 'Size', status: 'Status', tags: 'Tags', usage: 'Usage', }; } static types(): { [key: string]: any } { return { architecture: 'string', creationTime: 'string', description: 'string', diskDeviceMappings: DescribeImageFromFamilyResponseBodyImageDiskDeviceMappings, imageFamily: 'string', imageId: 'string', imageName: 'string', imageOwnerAlias: 'string', imageVersion: 'string', isCopied: 'boolean', isSelfShared: 'string', isSubscribed: 'boolean', isSupportCloudinit: 'boolean', isSupportIoOptimized: 'boolean', OSName: 'string', OSType: 'string', platform: 'string', productCode: 'string', progress: 'string', size: 'number', status: 'string', tags: DescribeImageFromFamilyResponseBodyImageTags, usage: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTags extends $tea.Model { tag?: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSet extends $tea.Model { creationTime?: string; executionId?: string; imageId?: string; imagePipelineId?: string; message?: string; modifiedTime?: string; resourceGroupId?: string; status?: string; tags?: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTags; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', executionId: 'ExecutionId', imageId: 'ImageId', imagePipelineId: 'ImagePipelineId', message: 'Message', modifiedTime: 'ModifiedTime', resourceGroupId: 'ResourceGroupId', status: 'Status', tags: 'Tags', }; } static types(): { [key: string]: any } { return { creationTime: 'string', executionId: 'string', imageId: 'string', imagePipelineId: 'string', message: 'string', modifiedTime: 'string', resourceGroupId: 'string', status: 'string', tags: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSetTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelineExecutionsResponseBodyImagePipelineExecution extends $tea.Model { imagePipelineExecutionSet?: DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSet[]; static names(): { [key: string]: string } { return { imagePipelineExecutionSet: 'ImagePipelineExecutionSet', }; } static types(): { [key: string]: any } { return { imagePipelineExecutionSet: { 'type': 'array', 'itemType': DescribeImagePipelineExecutionsResponseBodyImagePipelineExecutionImagePipelineExecutionSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetAddAccounts extends $tea.Model { addAccount?: string[]; static names(): { [key: string]: string } { return { addAccount: 'AddAccount', }; } static types(): { [key: string]: any } { return { addAccount: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTags extends $tea.Model { tag?: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetToRegionIds extends $tea.Model { toRegionId?: string[]; static names(): { [key: string]: string } { return { toRegionId: 'ToRegionId', }; } static types(): { [key: string]: any } { return { toRegionId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSet extends $tea.Model { addAccounts?: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetAddAccounts; baseImage?: string; baseImageType?: string; buildContent?: string; creationTime?: string; deleteInstanceOnFailure?: boolean; description?: string; imageName?: string; imagePipelineId?: string; instanceType?: string; internetMaxBandwidthOut?: number; name?: string; resourceGroupId?: string; systemDiskSize?: number; tags?: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTags; toRegionIds?: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetToRegionIds; vSwitchId?: string; static names(): { [key: string]: string } { return { addAccounts: 'AddAccounts', baseImage: 'BaseImage', baseImageType: 'BaseImageType', buildContent: 'BuildContent', creationTime: 'CreationTime', deleteInstanceOnFailure: 'DeleteInstanceOnFailure', description: 'Description', imageName: 'ImageName', imagePipelineId: 'ImagePipelineId', instanceType: 'InstanceType', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', name: 'Name', resourceGroupId: 'ResourceGroupId', systemDiskSize: 'SystemDiskSize', tags: 'Tags', toRegionIds: 'ToRegionIds', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { addAccounts: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetAddAccounts, baseImage: 'string', baseImageType: 'string', buildContent: 'string', creationTime: 'string', deleteInstanceOnFailure: 'boolean', description: 'string', imageName: 'string', imagePipelineId: 'string', instanceType: 'string', internetMaxBandwidthOut: 'number', name: 'string', resourceGroupId: 'string', systemDiskSize: 'number', tags: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetTags, toRegionIds: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSetToRegionIds, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagePipelinesResponseBodyImagePipeline extends $tea.Model { imagePipelineSet?: DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSet[]; static names(): { [key: string]: string } { return { imagePipelineSet: 'ImagePipelineSet', }; } static types(): { [key: string]: any } { return { imagePipelineSet: { 'type': 'array', 'itemType': DescribeImagePipelinesResponseBodyImagePipelineImagePipelineSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponseBodyAccountsAccount extends $tea.Model { aliyunId?: string; sharedTime?: string; static names(): { [key: string]: string } { return { aliyunId: 'AliyunId', sharedTime: 'SharedTime', }; } static types(): { [key: string]: any } { return { aliyunId: 'string', sharedTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponseBodyAccounts extends $tea.Model { account?: DescribeImageSharePermissionResponseBodyAccountsAccount[]; static names(): { [key: string]: string } { return { account: 'Account', }; } static types(): { [key: string]: any } { return { account: { 'type': 'array', 'itemType': DescribeImageSharePermissionResponseBodyAccountsAccount }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponseBodyShareGroupsShareGroup extends $tea.Model { group?: string; static names(): { [key: string]: string } { return { group: 'Group', }; } static types(): { [key: string]: any } { return { group: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSharePermissionResponseBodyShareGroups extends $tea.Model { shareGroup?: DescribeImageSharePermissionResponseBodyShareGroupsShareGroup[]; static names(): { [key: string]: string } { return { shareGroup: 'ShareGroup', }; } static types(): { [key: string]: any } { return { shareGroup: { 'type': 'array', 'itemType': DescribeImageSharePermissionResponseBodyShareGroupsShareGroup }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesResponseBodyInstanceTypesInstanceType extends $tea.Model { cpuCoreCount?: number; instanceTypeFamily?: string; instanceTypeId?: string; memorySize?: number; static names(): { [key: string]: string } { return { cpuCoreCount: 'CpuCoreCount', instanceTypeFamily: 'InstanceTypeFamily', instanceTypeId: 'InstanceTypeId', memorySize: 'MemorySize', }; } static types(): { [key: string]: any } { return { cpuCoreCount: 'number', instanceTypeFamily: 'string', instanceTypeId: 'string', memorySize: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImageSupportInstanceTypesResponseBodyInstanceTypes extends $tea.Model { instanceType?: DescribeImageSupportInstanceTypesResponseBodyInstanceTypesInstanceType[]; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', }; } static types(): { [key: string]: any } { return { instanceType: { 'type': 'array', 'itemType': DescribeImageSupportInstanceTypesResponseBodyInstanceTypesInstanceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageDetectionOptionsItemsItem extends $tea.Model { name?: string; riskCode?: string; riskLevel?: string; value?: string; static names(): { [key: string]: string } { return { name: 'Name', riskCode: 'RiskCode', riskLevel: 'RiskLevel', value: 'Value', }; } static types(): { [key: string]: any } { return { name: 'string', riskCode: 'string', riskLevel: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageDetectionOptionsItems extends $tea.Model { item?: DescribeImagesResponseBodyImagesImageDetectionOptionsItemsItem[]; static names(): { [key: string]: string } { return { item: 'Item', }; } static types(): { [key: string]: any } { return { item: { 'type': 'array', 'itemType': DescribeImagesResponseBodyImagesImageDetectionOptionsItemsItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageDetectionOptions extends $tea.Model { items?: DescribeImagesResponseBodyImagesImageDetectionOptionsItems; status?: string; static names(): { [key: string]: string } { return { items: 'Items', status: 'Status', }; } static types(): { [key: string]: any } { return { items: DescribeImagesResponseBodyImagesImageDetectionOptionsItems, status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageDiskDeviceMappingsDiskDeviceMapping extends $tea.Model { device?: string; format?: string; importOSSBucket?: string; importOSSObject?: string; progress?: string; remainTime?: number; size?: string; snapshotId?: string; type?: string; static names(): { [key: string]: string } { return { device: 'Device', format: 'Format', importOSSBucket: 'ImportOSSBucket', importOSSObject: 'ImportOSSObject', progress: 'Progress', remainTime: 'RemainTime', size: 'Size', snapshotId: 'SnapshotId', type: 'Type', }; } static types(): { [key: string]: any } { return { device: 'string', format: 'string', importOSSBucket: 'string', importOSSObject: 'string', progress: 'string', remainTime: 'number', size: 'string', snapshotId: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageDiskDeviceMappings extends $tea.Model { diskDeviceMapping?: DescribeImagesResponseBodyImagesImageDiskDeviceMappingsDiskDeviceMapping[]; static names(): { [key: string]: string } { return { diskDeviceMapping: 'DiskDeviceMapping', }; } static types(): { [key: string]: any } { return { diskDeviceMapping: { 'type': 'array', 'itemType': DescribeImagesResponseBodyImagesImageDiskDeviceMappingsDiskDeviceMapping }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageFeatures extends $tea.Model { nvmeSupport?: string; static names(): { [key: string]: string } { return { nvmeSupport: 'NvmeSupport', }; } static types(): { [key: string]: any } { return { nvmeSupport: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImageTags extends $tea.Model { tag?: DescribeImagesResponseBodyImagesImageTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeImagesResponseBodyImagesImageTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImagesImage extends $tea.Model { architecture?: string; bootMode?: string; creationTime?: string; description?: string; detectionOptions?: DescribeImagesResponseBodyImagesImageDetectionOptions; diskDeviceMappings?: DescribeImagesResponseBodyImagesImageDiskDeviceMappings; features?: DescribeImagesResponseBodyImagesImageFeatures; imageFamily?: string; imageId?: string; imageName?: string; imageOwnerAlias?: string; imageOwnerId?: number; imageVersion?: string; isCopied?: boolean; isPublic?: boolean; isSelfShared?: string; isSubscribed?: boolean; isSupportCloudinit?: boolean; isSupportIoOptimized?: boolean; loginAsNonRootSupported?: boolean; OSName?: string; OSNameEn?: string; OSType?: string; platform?: string; productCode?: string; progress?: string; resourceGroupId?: string; size?: number; status?: string; supplierName?: string; tags?: DescribeImagesResponseBodyImagesImageTags; usage?: string; static names(): { [key: string]: string } { return { architecture: 'Architecture', bootMode: 'BootMode', creationTime: 'CreationTime', description: 'Description', detectionOptions: 'DetectionOptions', diskDeviceMappings: 'DiskDeviceMappings', features: 'Features', imageFamily: 'ImageFamily', imageId: 'ImageId', imageName: 'ImageName', imageOwnerAlias: 'ImageOwnerAlias', imageOwnerId: 'ImageOwnerId', imageVersion: 'ImageVersion', isCopied: 'IsCopied', isPublic: 'IsPublic', isSelfShared: 'IsSelfShared', isSubscribed: 'IsSubscribed', isSupportCloudinit: 'IsSupportCloudinit', isSupportIoOptimized: 'IsSupportIoOptimized', loginAsNonRootSupported: 'LoginAsNonRootSupported', OSName: 'OSName', OSNameEn: 'OSNameEn', OSType: 'OSType', platform: 'Platform', productCode: 'ProductCode', progress: 'Progress', resourceGroupId: 'ResourceGroupId', size: 'Size', status: 'Status', supplierName: 'SupplierName', tags: 'Tags', usage: 'Usage', }; } static types(): { [key: string]: any } { return { architecture: 'string', bootMode: 'string', creationTime: 'string', description: 'string', detectionOptions: DescribeImagesResponseBodyImagesImageDetectionOptions, diskDeviceMappings: DescribeImagesResponseBodyImagesImageDiskDeviceMappings, features: DescribeImagesResponseBodyImagesImageFeatures, imageFamily: 'string', imageId: 'string', imageName: 'string', imageOwnerAlias: 'string', imageOwnerId: 'number', imageVersion: 'string', isCopied: 'boolean', isPublic: 'boolean', isSelfShared: 'string', isSubscribed: 'boolean', isSupportCloudinit: 'boolean', isSupportIoOptimized: 'boolean', loginAsNonRootSupported: 'boolean', OSName: 'string', OSNameEn: 'string', OSType: 'string', platform: 'string', productCode: 'string', progress: 'string', resourceGroupId: 'string', size: 'number', status: 'string', supplierName: 'string', tags: DescribeImagesResponseBodyImagesImageTags, usage: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeImagesResponseBodyImages extends $tea.Model { image?: DescribeImagesResponseBodyImagesImage[]; static names(): { [key: string]: string } { return { image: 'Image', }; } static types(): { [key: string]: any } { return { image: { 'type': 'array', 'itemType': DescribeImagesResponseBodyImagesImage }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttachmentAttributesResponseBodyInstancesInstance extends $tea.Model { instanceId?: string; privatePoolOptionsId?: string; privatePoolOptionsMatchCriteria?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', privatePoolOptionsId: 'PrivatePoolOptionsId', privatePoolOptionsMatchCriteria: 'PrivatePoolOptionsMatchCriteria', }; } static types(): { [key: string]: any } { return { instanceId: 'string', privatePoolOptionsId: 'string', privatePoolOptionsMatchCriteria: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttachmentAttributesResponseBodyInstances extends $tea.Model { instance?: DescribeInstanceAttachmentAttributesResponseBodyInstancesInstance[]; static names(): { [key: string]: string } { return { instance: 'Instance', }; } static types(): { [key: string]: any } { return { instance: { 'type': 'array', 'itemType': DescribeInstanceAttachmentAttributesResponseBodyInstancesInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyDedicatedHostAttribute extends $tea.Model { dedicatedHostId?: string; dedicatedHostName?: string; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', dedicatedHostName: 'DedicatedHostName', }; } static types(): { [key: string]: any } { return { dedicatedHostId: 'string', dedicatedHostName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyEipAddress extends $tea.Model { allocationId?: string; bandwidth?: number; internetChargeType?: string; ipAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', bandwidth: 'Bandwidth', internetChargeType: 'InternetChargeType', ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', bandwidth: 'number', internetChargeType: 'string', ipAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyInnerIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyOperationLocksLockReason extends $tea.Model { lockReason?: string; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyOperationLocks extends $tea.Model { lockReason?: DescribeInstanceAttributeResponseBodyOperationLocksLockReason[]; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: { 'type': 'array', 'itemType': DescribeInstanceAttributeResponseBodyOperationLocksLockReason }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyPublicIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodySecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyVpcAttributesPrivateIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAttributeResponseBodyVpcAttributes extends $tea.Model { natIpAddress?: string; privateIpAddress?: DescribeInstanceAttributeResponseBodyVpcAttributesPrivateIpAddress; vSwitchId?: string; vpcId?: string; static names(): { [key: string]: string } { return { natIpAddress: 'NatIpAddress', privateIpAddress: 'PrivateIpAddress', vSwitchId: 'VSwitchId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { natIpAddress: 'string', privateIpAddress: DescribeInstanceAttributeResponseBodyVpcAttributesPrivateIpAddress, vSwitchId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributesInstanceRenewAttribute extends $tea.Model { autoRenewEnabled?: boolean; duration?: number; instanceId?: string; periodUnit?: string; renewalStatus?: string; static names(): { [key: string]: string } { return { autoRenewEnabled: 'AutoRenewEnabled', duration: 'Duration', instanceId: 'InstanceId', periodUnit: 'PeriodUnit', renewalStatus: 'RenewalStatus', }; } static types(): { [key: string]: any } { return { autoRenewEnabled: 'boolean', duration: 'number', instanceId: 'string', periodUnit: 'string', renewalStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributes extends $tea.Model { instanceRenewAttribute?: DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributesInstanceRenewAttribute[]; static names(): { [key: string]: string } { return { instanceRenewAttribute: 'InstanceRenewAttribute', }; } static types(): { [key: string]: any } { return { instanceRenewAttribute: { 'type': 'array', 'itemType': DescribeInstanceAutoRenewAttributeResponseBodyInstanceRenewAttributesInstanceRenewAttribute }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsRequestEventPublishTime extends $tea.Model { end?: string; start?: string; static names(): { [key: string]: string } { return { end: 'End', start: 'Start', }; } static types(): { [key: string]: any } { return { end: 'string', start: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsRequestNotBefore extends $tea.Model { end?: string; start?: string; static names(): { [key: string]: string } { return { end: 'End', start: 'Start', }; } static types(): { [key: string]: any } { return { end: 'string', start: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventCycleStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventType extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk extends $tea.Model { creationTime?: string; deviceCategory?: string; deviceSize?: string; deviceType?: string; releaseTime?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', deviceCategory: 'DeviceCategory', deviceSize: 'DeviceSize', deviceType: 'DeviceType', releaseTime: 'ReleaseTime', }; } static types(): { [key: string]: any } { return { creationTime: 'string', deviceCategory: 'string', deviceSize: 'string', deviceType: 'string', releaseTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisks extends $tea.Model { inactiveDisk?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk[]; static names(): { [key: string]: string } { return { inactiveDisk: 'InactiveDisk', }; } static types(): { [key: string]: any } { return { inactiveDisk: { 'type': 'array', 'itemType': DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeMigrationOptions extends $tea.Model { migrationOption?: string[]; static names(): { [key: string]: string } { return { migrationOption: 'MigrationOption', }; } static types(): { [key: string]: any } { return { migrationOption: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttribute extends $tea.Model { canAccept?: string; code?: string; device?: string; diskId?: string; hostId?: string; hostType?: string; inactiveDisks?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisks; migrationOptions?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeMigrationOptions; onlineRepairPolicy?: string; punishDomain?: string; punishType?: string; punishUrl?: string; rack?: string; responseResult?: string; static names(): { [key: string]: string } { return { canAccept: 'CanAccept', code: 'Code', device: 'Device', diskId: 'DiskId', hostId: 'HostId', hostType: 'HostType', inactiveDisks: 'InactiveDisks', migrationOptions: 'MigrationOptions', onlineRepairPolicy: 'OnlineRepairPolicy', punishDomain: 'PunishDomain', punishType: 'PunishType', punishUrl: 'PunishUrl', rack: 'Rack', responseResult: 'ResponseResult', }; } static types(): { [key: string]: any } { return { canAccept: 'string', code: 'string', device: 'string', diskId: 'string', hostId: 'string', hostType: 'string', inactiveDisks: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeInactiveDisks, migrationOptions: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttributeMigrationOptions, onlineRepairPolicy: 'string', punishDomain: 'string', punishType: 'string', punishUrl: 'string', rack: 'string', responseResult: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventType extends $tea.Model { eventCycleStatus?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventCycleStatus; eventFinishTime?: string; eventId?: string; eventPublishTime?: string; eventType?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventType; extendedAttribute?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttribute; impactLevel?: string; instanceId?: string; notBefore?: string; reason?: string; resourceType?: string; static names(): { [key: string]: string } { return { eventCycleStatus: 'EventCycleStatus', eventFinishTime: 'EventFinishTime', eventId: 'EventId', eventPublishTime: 'EventPublishTime', eventType: 'EventType', extendedAttribute: 'ExtendedAttribute', impactLevel: 'ImpactLevel', instanceId: 'InstanceId', notBefore: 'NotBefore', reason: 'Reason', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { eventCycleStatus: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventCycleStatus, eventFinishTime: 'string', eventId: 'string', eventPublishTime: 'string', eventType: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeEventType, extendedAttribute: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventTypeExtendedAttribute, impactLevel: 'string', instanceId: 'string', notBefore: 'string', reason: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSet extends $tea.Model { instanceSystemEventType?: DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventType[]; static names(): { [key: string]: string } { return { instanceSystemEventType: 'InstanceSystemEventType', }; } static types(): { [key: string]: any } { return { instanceSystemEventType: { 'type': 'array', 'itemType': DescribeInstanceHistoryEventsResponseBodyInstanceSystemEventSetInstanceSystemEventType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenanceSupportedValues extends $tea.Model { supportedValue?: string[]; static names(): { [key: string]: string } { return { supportedValue: 'SupportedValue', }; } static types(): { [key: string]: any } { return { supportedValue: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenance extends $tea.Model { defaultValue?: string; supportedValues?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenanceSupportedValues; value?: string; static names(): { [key: string]: string } { return { defaultValue: 'DefaultValue', supportedValues: 'SupportedValues', value: 'Value', }; } static types(): { [key: string]: any } { return { defaultValue: 'string', supportedValues: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenanceSupportedValues, value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindowsMaintenanceWindow extends $tea.Model { endTime?: string; startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindows extends $tea.Model { maintenanceWindow?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindowsMaintenanceWindow[]; static names(): { [key: string]: string } { return { maintenanceWindow: 'MaintenanceWindow', }; } static types(): { [key: string]: any } { return { maintenanceWindow: { 'type': 'array', 'itemType': DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindowsMaintenanceWindow }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttribute extends $tea.Model { actionOnMaintenance?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenance; instanceId?: string; maintenanceWindows?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindows; notifyOnMaintenance?: boolean; static names(): { [key: string]: string } { return { actionOnMaintenance: 'ActionOnMaintenance', instanceId: 'InstanceId', maintenanceWindows: 'MaintenanceWindows', notifyOnMaintenance: 'NotifyOnMaintenance', }; } static types(): { [key: string]: any } { return { actionOnMaintenance: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeActionOnMaintenance, instanceId: 'string', maintenanceWindows: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttributeMaintenanceWindows, notifyOnMaintenance: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributes extends $tea.Model { maintenanceAttribute?: DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttribute[]; static names(): { [key: string]: string } { return { maintenanceAttribute: 'MaintenanceAttribute', }; } static types(): { [key: string]: any } { return { maintenanceAttribute: { 'type': 'array', 'itemType': DescribeInstanceMaintenanceAttributesResponseBodyMaintenanceAttributesMaintenanceAttribute }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceRequestSystemDisk extends $tea.Model { category?: string; static names(): { [key: string]: string } { return { category: 'Category', }; } static types(): { [key: string]: any } { return { category: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceRequestDataDisk extends $tea.Model { category?: string; performanceLevel?: string; size?: number; static names(): { [key: string]: string } { return { category: 'Category', performanceLevel: 'PerformanceLevel', size: 'Size', }; } static types(): { [key: string]: any } { return { category: 'string', performanceLevel: 'string', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponseBodyPriceInfoPrice extends $tea.Model { currency?: string; discountPrice?: number; originalPrice?: number; tradePrice?: number; static names(): { [key: string]: string } { return { currency: 'Currency', discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { currency: 'string', discountPrice: 'number', originalPrice: 'number', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponseBodyPriceInfoRulesRule extends $tea.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponseBodyPriceInfoRules extends $tea.Model { rule?: DescribeInstanceModificationPriceResponseBodyPriceInfoRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribeInstanceModificationPriceResponseBodyPriceInfoRulesRule }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceModificationPriceResponseBodyPriceInfo extends $tea.Model { price?: DescribeInstanceModificationPriceResponseBodyPriceInfoPrice; rules?: DescribeInstanceModificationPriceResponseBodyPriceInfoRules; static names(): { [key: string]: string } { return { price: 'Price', rules: 'Rules', }; } static types(): { [key: string]: any } { return { price: DescribeInstanceModificationPriceResponseBodyPriceInfoPrice, rules: DescribeInstanceModificationPriceResponseBodyPriceInfoRules, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMonitorDataResponseBodyMonitorDataInstanceMonitorData extends $tea.Model { BPSRead?: number; BPSWrite?: number; CPU?: number; CPUAdvanceCreditBalance?: number; CPUCreditBalance?: number; CPUCreditUsage?: number; CPUNotpaidSurplusCreditUsage?: number; IOPSRead?: number; IOPSWrite?: number; instanceId?: string; internetBandwidth?: number; internetRX?: number; internetTX?: number; intranetBandwidth?: number; intranetRX?: number; intranetTX?: number; timeStamp?: string; static names(): { [key: string]: string } { return { BPSRead: 'BPSRead', BPSWrite: 'BPSWrite', CPU: 'CPU', CPUAdvanceCreditBalance: 'CPUAdvanceCreditBalance', CPUCreditBalance: 'CPUCreditBalance', CPUCreditUsage: 'CPUCreditUsage', CPUNotpaidSurplusCreditUsage: 'CPUNotpaidSurplusCreditUsage', IOPSRead: 'IOPSRead', IOPSWrite: 'IOPSWrite', instanceId: 'InstanceId', internetBandwidth: 'InternetBandwidth', internetRX: 'InternetRX', internetTX: 'InternetTX', intranetBandwidth: 'IntranetBandwidth', intranetRX: 'IntranetRX', intranetTX: 'IntranetTX', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { BPSRead: 'number', BPSWrite: 'number', CPU: 'number', CPUAdvanceCreditBalance: 'number', CPUCreditBalance: 'number', CPUCreditUsage: 'number', CPUNotpaidSurplusCreditUsage: 'number', IOPSRead: 'number', IOPSWrite: 'number', instanceId: 'string', internetBandwidth: 'number', internetRX: 'number', internetTX: 'number', intranetBandwidth: 'number', intranetRX: 'number', intranetTX: 'number', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceMonitorDataResponseBodyMonitorData extends $tea.Model { instanceMonitorData?: DescribeInstanceMonitorDataResponseBodyMonitorDataInstanceMonitorData[]; static names(): { [key: string]: string } { return { instanceMonitorData: 'InstanceMonitorData', }; } static types(): { [key: string]: any } { return { instanceMonitorData: { 'type': 'array', 'itemType': DescribeInstanceMonitorDataResponseBodyMonitorDataInstanceMonitorData }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceRamRoleResponseBodyInstanceRamRoleSetsInstanceRamRoleSet extends $tea.Model { instanceId?: string; ramRoleName?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ramRoleName: 'RamRoleName', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ramRoleName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceRamRoleResponseBodyInstanceRamRoleSets extends $tea.Model { instanceRamRoleSet?: DescribeInstanceRamRoleResponseBodyInstanceRamRoleSetsInstanceRamRoleSet[]; static names(): { [key: string]: string } { return { instanceRamRoleSet: 'InstanceRamRoleSet', }; } static types(): { [key: string]: any } { return { instanceRamRoleSet: { 'type': 'array', 'itemType': DescribeInstanceRamRoleResponseBodyInstanceRamRoleSetsInstanceRamRoleSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceStatusResponseBodyInstanceStatusesInstanceStatus extends $tea.Model { instanceId?: string; status?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', status: 'Status', }; } static types(): { [key: string]: any } { return { instanceId: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceStatusResponseBodyInstanceStatuses extends $tea.Model { instanceStatus?: DescribeInstanceStatusResponseBodyInstanceStatusesInstanceStatus[]; static names(): { [key: string]: string } { return { instanceStatus: 'InstanceStatus', }; } static types(): { [key: string]: any } { return { instanceStatus: { 'type': 'array', 'itemType': DescribeInstanceStatusResponseBodyInstanceStatusesInstanceStatus }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTopologyResponseBodyTopologysTopology extends $tea.Model { hostId?: string; instanceId?: string; static names(): { [key: string]: string } { return { hostId: 'HostId', instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { hostId: 'string', instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTopologyResponseBodyTopologys extends $tea.Model { topology?: DescribeInstanceTopologyResponseBodyTopologysTopology[]; static names(): { [key: string]: string } { return { topology: 'Topology', }; } static types(): { [key: string]: any } { return { topology: { 'type': 'array', 'itemType': DescribeInstanceTopologyResponseBodyTopologysTopology }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamiliesInstanceTypeFamily extends $tea.Model { generation?: string; instanceTypeFamilyId?: string; static names(): { [key: string]: string } { return { generation: 'Generation', instanceTypeFamilyId: 'InstanceTypeFamilyId', }; } static types(): { [key: string]: any } { return { generation: 'string', instanceTypeFamilyId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamilies extends $tea.Model { instanceTypeFamily?: DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamiliesInstanceTypeFamily[]; static names(): { [key: string]: string } { return { instanceTypeFamily: 'InstanceTypeFamily', }; } static types(): { [key: string]: any } { return { instanceTypeFamily: { 'type': 'array', 'itemType': DescribeInstanceTypeFamiliesResponseBodyInstanceTypeFamiliesInstanceTypeFamily }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCardsNetworkCardInfo extends $tea.Model { networkCardIndex?: number; static names(): { [key: string]: string } { return { networkCardIndex: 'NetworkCardIndex', }; } static types(): { [key: string]: any } { return { networkCardIndex: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCards extends $tea.Model { networkCardInfo?: DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCardsNetworkCardInfo[]; static names(): { [key: string]: string } { return { networkCardInfo: 'NetworkCardInfo', }; } static types(): { [key: string]: any } { return { networkCardInfo: { 'type': 'array', 'itemType': DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCardsNetworkCardInfo }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeSupportedBootModes extends $tea.Model { supportedBootMode?: string[]; static names(): { [key: string]: string } { return { supportedBootMode: 'SupportedBootMode', }; } static types(): { [key: string]: any } { return { supportedBootMode: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBodyInstanceTypesInstanceType extends $tea.Model { baselineCredit?: number; cpuArchitecture?: string; cpuCoreCount?: number; cpuSpeedFrequency?: number; cpuTurboFrequency?: number; diskQuantity?: number; eniIpv6AddressQuantity?: number; eniPrivateIpAddressQuantity?: number; eniQuantity?: number; eniTotalQuantity?: number; eniTrunkSupported?: boolean; eriQuantity?: number; GPUAmount?: number; GPUMemorySize?: number; GPUSpec?: string; initialCredit?: number; instanceBandwidthRx?: number; instanceBandwidthTx?: number; instanceCategory?: string; instanceFamilyLevel?: string; instancePpsRx?: number; instancePpsTx?: number; instanceTypeFamily?: string; instanceTypeId?: string; localStorageAmount?: number; localStorageCapacity?: number; localStorageCategory?: string; maximumQueueNumberPerEni?: number; memorySize?: number; networkCardQuantity?: number; networkCards?: DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCards; networkEncryptionSupport?: boolean; nvmeSupport?: string; physicalProcessorModel?: string; primaryEniQueueNumber?: number; queuePairNumber?: number; secondaryEniQueueNumber?: number; supportedBootModes?: DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeSupportedBootModes; totalEniQueueQuantity?: number; static names(): { [key: string]: string } { return { baselineCredit: 'BaselineCredit', cpuArchitecture: 'CpuArchitecture', cpuCoreCount: 'CpuCoreCount', cpuSpeedFrequency: 'CpuSpeedFrequency', cpuTurboFrequency: 'CpuTurboFrequency', diskQuantity: 'DiskQuantity', eniIpv6AddressQuantity: 'EniIpv6AddressQuantity', eniPrivateIpAddressQuantity: 'EniPrivateIpAddressQuantity', eniQuantity: 'EniQuantity', eniTotalQuantity: 'EniTotalQuantity', eniTrunkSupported: 'EniTrunkSupported', eriQuantity: 'EriQuantity', GPUAmount: 'GPUAmount', GPUMemorySize: 'GPUMemorySize', GPUSpec: 'GPUSpec', initialCredit: 'InitialCredit', instanceBandwidthRx: 'InstanceBandwidthRx', instanceBandwidthTx: 'InstanceBandwidthTx', instanceCategory: 'InstanceCategory', instanceFamilyLevel: 'InstanceFamilyLevel', instancePpsRx: 'InstancePpsRx', instancePpsTx: 'InstancePpsTx', instanceTypeFamily: 'InstanceTypeFamily', instanceTypeId: 'InstanceTypeId', localStorageAmount: 'LocalStorageAmount', localStorageCapacity: 'LocalStorageCapacity', localStorageCategory: 'LocalStorageCategory', maximumQueueNumberPerEni: 'MaximumQueueNumberPerEni', memorySize: 'MemorySize', networkCardQuantity: 'NetworkCardQuantity', networkCards: 'NetworkCards', networkEncryptionSupport: 'NetworkEncryptionSupport', nvmeSupport: 'NvmeSupport', physicalProcessorModel: 'PhysicalProcessorModel', primaryEniQueueNumber: 'PrimaryEniQueueNumber', queuePairNumber: 'QueuePairNumber', secondaryEniQueueNumber: 'SecondaryEniQueueNumber', supportedBootModes: 'SupportedBootModes', totalEniQueueQuantity: 'TotalEniQueueQuantity', }; } static types(): { [key: string]: any } { return { baselineCredit: 'number', cpuArchitecture: 'string', cpuCoreCount: 'number', cpuSpeedFrequency: 'number', cpuTurboFrequency: 'number', diskQuantity: 'number', eniIpv6AddressQuantity: 'number', eniPrivateIpAddressQuantity: 'number', eniQuantity: 'number', eniTotalQuantity: 'number', eniTrunkSupported: 'boolean', eriQuantity: 'number', GPUAmount: 'number', GPUMemorySize: 'number', GPUSpec: 'string', initialCredit: 'number', instanceBandwidthRx: 'number', instanceBandwidthTx: 'number', instanceCategory: 'string', instanceFamilyLevel: 'string', instancePpsRx: 'number', instancePpsTx: 'number', instanceTypeFamily: 'string', instanceTypeId: 'string', localStorageAmount: 'number', localStorageCapacity: 'number', localStorageCategory: 'string', maximumQueueNumberPerEni: 'number', memorySize: 'number', networkCardQuantity: 'number', networkCards: DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeNetworkCards, networkEncryptionSupport: 'boolean', nvmeSupport: 'string', physicalProcessorModel: 'string', primaryEniQueueNumber: 'number', queuePairNumber: 'number', secondaryEniQueueNumber: 'number', supportedBootModes: DescribeInstanceTypesResponseBodyInstanceTypesInstanceTypeSupportedBootModes, totalEniQueueQuantity: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstanceTypesResponseBodyInstanceTypes extends $tea.Model { instanceType?: DescribeInstanceTypesResponseBodyInstanceTypesInstanceType[]; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', }; } static types(): { [key: string]: any } { return { instanceType: { 'type': 'array', 'itemType': DescribeInstanceTypesResponseBodyInstanceTypesInstanceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceCpuOptions extends $tea.Model { coreCount?: number; numa?: string; threadsPerCore?: number; topologyType?: string; static names(): { [key: string]: string } { return { coreCount: 'CoreCount', numa: 'Numa', threadsPerCore: 'ThreadsPerCore', topologyType: 'TopologyType', }; } static types(): { [key: string]: any } { return { coreCount: 'number', numa: 'string', threadsPerCore: 'number', topologyType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceDedicatedHostAttribute extends $tea.Model { dedicatedHostClusterId?: string; dedicatedHostId?: string; dedicatedHostName?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', dedicatedHostId: 'DedicatedHostId', dedicatedHostName: 'DedicatedHostName', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', dedicatedHostId: 'string', dedicatedHostName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceDedicatedInstanceAttribute extends $tea.Model { affinity?: string; tenancy?: string; static names(): { [key: string]: string } { return { affinity: 'Affinity', tenancy: 'Tenancy', }; } static types(): { [key: string]: any } { return { affinity: 'string', tenancy: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceEcsCapacityReservationAttr extends $tea.Model { capacityReservationId?: string; capacityReservationPreference?: string; static names(): { [key: string]: string } { return { capacityReservationId: 'CapacityReservationId', capacityReservationPreference: 'CapacityReservationPreference', }; } static types(): { [key: string]: any } { return { capacityReservationId: 'string', capacityReservationPreference: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceEipAddress extends $tea.Model { allocationId?: string; bandwidth?: number; internetChargeType?: string; ipAddress?: string; isSupportUnassociate?: boolean; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', bandwidth: 'Bandwidth', internetChargeType: 'InternetChargeType', ipAddress: 'IpAddress', isSupportUnassociate: 'IsSupportUnassociate', }; } static types(): { [key: string]: any } { return { allocationId: 'string', bandwidth: 'number', internetChargeType: 'string', ipAddress: 'string', isSupportUnassociate: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceHibernationOptions extends $tea.Model { configured?: boolean; static names(): { [key: string]: string } { return { configured: 'Configured', }; } static types(): { [key: string]: any } { return { configured: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceImageOptions extends $tea.Model { loginAsNonRoot?: boolean; static names(): { [key: string]: string } { return { loginAsNonRoot: 'LoginAsNonRoot', }; } static types(): { [key: string]: any } { return { loginAsNonRoot: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceInnerIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceMetadataOptions extends $tea.Model { httpEndpoint?: string; httpPutResponseHopLimit?: number; httpTokens?: string; static names(): { [key: string]: string } { return { httpEndpoint: 'HttpEndpoint', httpPutResponseHopLimit: 'HttpPutResponseHopLimit', httpTokens: 'HttpTokens', }; } static types(): { [key: string]: any } { return { httpEndpoint: 'string', httpPutResponseHopLimit: 'number', httpTokens: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSetsIpv4PrefixSet extends $tea.Model { ipv4Prefix?: string; static names(): { [key: string]: string } { return { ipv4Prefix: 'Ipv4Prefix', }; } static types(): { [key: string]: any } { return { ipv4Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSets extends $tea.Model { ipv4PrefixSet?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSetsIpv4PrefixSet[]; static names(): { [key: string]: string } { return { ipv4PrefixSet: 'Ipv4PrefixSet', }; } static types(): { [key: string]: any } { return { ipv4PrefixSet: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSetsIpv4PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSetsIpv6PrefixSet extends $tea.Model { ipv6Prefix?: string; static names(): { [key: string]: string } { return { ipv6Prefix: 'Ipv6Prefix', }; } static types(): { [key: string]: any } { return { ipv6Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSets extends $tea.Model { ipv6PrefixSet?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSetsIpv6PrefixSet[]; static names(): { [key: string]: string } { return { ipv6PrefixSet: 'Ipv6PrefixSet', }; } static types(): { [key: string]: any } { return { ipv6PrefixSet: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSetsIpv6PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6SetsIpv6Set extends $tea.Model { ipv6Address?: string; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', }; } static types(): { [key: string]: any } { return { ipv6Address: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6Sets extends $tea.Model { ipv6Set?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6SetsIpv6Set[]; static names(): { [key: string]: string } { return { ipv6Set: 'Ipv6Set', }; } static types(): { [key: string]: any } { return { ipv6Set: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6SetsIpv6Set }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSetsPrivateIpSet extends $tea.Model { primary?: boolean; privateIpAddress?: string; static names(): { [key: string]: string } { return { primary: 'Primary', privateIpAddress: 'PrivateIpAddress', }; } static types(): { [key: string]: any } { return { primary: 'boolean', privateIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSets extends $tea.Model { privateIpSet?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSetsPrivateIpSet[]; static names(): { [key: string]: string } { return { privateIpSet: 'PrivateIpSet', }; } static types(): { [key: string]: any } { return { privateIpSet: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSetsPrivateIpSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterface extends $tea.Model { ipv4PrefixSets?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSets; ipv6PrefixSets?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSets; ipv6Sets?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6Sets; macAddress?: string; networkInterfaceId?: string; primaryIpAddress?: string; privateIpSets?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSets; type?: string; static names(): { [key: string]: string } { return { ipv4PrefixSets: 'Ipv4PrefixSets', ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', macAddress: 'MacAddress', networkInterfaceId: 'NetworkInterfaceId', primaryIpAddress: 'PrimaryIpAddress', privateIpSets: 'PrivateIpSets', type: 'Type', }; } static types(): { [key: string]: any } { return { ipv4PrefixSets: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv4PrefixSets, ipv6PrefixSets: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6PrefixSets, ipv6Sets: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfaceIpv6Sets, macAddress: 'string', networkInterfaceId: 'string', primaryIpAddress: 'string', privateIpSets: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterfacePrivateIpSets, type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceNetworkInterfaces extends $tea.Model { networkInterface?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterface[]; static names(): { [key: string]: string } { return { networkInterface: 'NetworkInterface', }; } static types(): { [key: string]: any } { return { networkInterface: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceNetworkInterfacesNetworkInterface }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceOperationLocksLockReason extends $tea.Model { lockMsg?: string; lockReason?: string; static names(): { [key: string]: string } { return { lockMsg: 'LockMsg', lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockMsg: 'string', lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceOperationLocks extends $tea.Model { lockReason?: DescribeInstancesResponseBodyInstancesInstanceOperationLocksLockReason[]; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceOperationLocksLockReason }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstancePublicIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceRdmaIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceSecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceTags extends $tea.Model { tag?: DescribeInstancesResponseBodyInstancesInstanceTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstanceTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceVpcAttributesPrivateIpAddress extends $tea.Model { ipAddress?: string[]; static names(): { [key: string]: string } { return { ipAddress: 'IpAddress', }; } static types(): { [key: string]: any } { return { ipAddress: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstanceVpcAttributes extends $tea.Model { natIpAddress?: string; privateIpAddress?: DescribeInstancesResponseBodyInstancesInstanceVpcAttributesPrivateIpAddress; vSwitchId?: string; vpcId?: string; static names(): { [key: string]: string } { return { natIpAddress: 'NatIpAddress', privateIpAddress: 'PrivateIpAddress', vSwitchId: 'VSwitchId', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { natIpAddress: 'string', privateIpAddress: DescribeInstancesResponseBodyInstancesInstanceVpcAttributesPrivateIpAddress, vSwitchId: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstancesInstance extends $tea.Model { autoReleaseTime?: string; clusterId?: string; cpu?: number; cpuOptions?: DescribeInstancesResponseBodyInstancesInstanceCpuOptions; creationTime?: string; creditSpecification?: string; dedicatedHostAttribute?: DescribeInstancesResponseBodyInstancesInstanceDedicatedHostAttribute; dedicatedInstanceAttribute?: DescribeInstancesResponseBodyInstancesInstanceDedicatedInstanceAttribute; deletionProtection?: boolean; deploymentSetGroupNo?: number; deploymentSetId?: string; description?: string; deviceAvailable?: boolean; ecsCapacityReservationAttr?: DescribeInstancesResponseBodyInstancesInstanceEcsCapacityReservationAttr; eipAddress?: DescribeInstancesResponseBodyInstancesInstanceEipAddress; expiredTime?: string; GPUAmount?: number; GPUSpec?: string; hibernationOptions?: DescribeInstancesResponseBodyInstancesInstanceHibernationOptions; hostName?: string; hpcClusterId?: string; ISP?: string; imageId?: string; imageOptions?: DescribeInstancesResponseBodyInstancesInstanceImageOptions; innerIpAddress?: DescribeInstancesResponseBodyInstancesInstanceInnerIpAddress; instanceChargeType?: string; instanceId?: string; instanceName?: string; instanceNetworkType?: string; instanceType?: string; instanceTypeFamily?: string; internetChargeType?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; ioOptimized?: boolean; keyPairName?: string; localStorageAmount?: number; localStorageCapacity?: number; memory?: number; metadataOptions?: DescribeInstancesResponseBodyInstancesInstanceMetadataOptions; networkInterfaces?: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfaces; OSName?: string; OSNameEn?: string; OSType?: string; operationLocks?: DescribeInstancesResponseBodyInstancesInstanceOperationLocks; publicIpAddress?: DescribeInstancesResponseBodyInstancesInstancePublicIpAddress; rdmaIpAddress?: DescribeInstancesResponseBodyInstancesInstanceRdmaIpAddress; recyclable?: boolean; regionId?: string; resourceGroupId?: string; saleCycle?: string; securityGroupIds?: DescribeInstancesResponseBodyInstancesInstanceSecurityGroupIds; serialNumber?: string; spotDuration?: number; spotInterruptionBehavior?: string; spotPriceLimit?: number; spotStrategy?: string; startTime?: string; status?: string; stoppedMode?: string; tags?: DescribeInstancesResponseBodyInstancesInstanceTags; vlanId?: string; vpcAttributes?: DescribeInstancesResponseBodyInstancesInstanceVpcAttributes; zoneId?: string; static names(): { [key: string]: string } { return { autoReleaseTime: 'AutoReleaseTime', clusterId: 'ClusterId', cpu: 'Cpu', cpuOptions: 'CpuOptions', creationTime: 'CreationTime', creditSpecification: 'CreditSpecification', dedicatedHostAttribute: 'DedicatedHostAttribute', dedicatedInstanceAttribute: 'DedicatedInstanceAttribute', deletionProtection: 'DeletionProtection', deploymentSetGroupNo: 'DeploymentSetGroupNo', deploymentSetId: 'DeploymentSetId', description: 'Description', deviceAvailable: 'DeviceAvailable', ecsCapacityReservationAttr: 'EcsCapacityReservationAttr', eipAddress: 'EipAddress', expiredTime: 'ExpiredTime', GPUAmount: 'GPUAmount', GPUSpec: 'GPUSpec', hibernationOptions: 'HibernationOptions', hostName: 'HostName', hpcClusterId: 'HpcClusterId', ISP: 'ISP', imageId: 'ImageId', imageOptions: 'ImageOptions', innerIpAddress: 'InnerIpAddress', instanceChargeType: 'InstanceChargeType', instanceId: 'InstanceId', instanceName: 'InstanceName', instanceNetworkType: 'InstanceNetworkType', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', keyPairName: 'KeyPairName', localStorageAmount: 'LocalStorageAmount', localStorageCapacity: 'LocalStorageCapacity', memory: 'Memory', metadataOptions: 'MetadataOptions', networkInterfaces: 'NetworkInterfaces', OSName: 'OSName', OSNameEn: 'OSNameEn', OSType: 'OSType', operationLocks: 'OperationLocks', publicIpAddress: 'PublicIpAddress', rdmaIpAddress: 'RdmaIpAddress', recyclable: 'Recyclable', regionId: 'RegionId', resourceGroupId: 'ResourceGroupId', saleCycle: 'SaleCycle', securityGroupIds: 'SecurityGroupIds', serialNumber: 'SerialNumber', spotDuration: 'SpotDuration', spotInterruptionBehavior: 'SpotInterruptionBehavior', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', startTime: 'StartTime', status: 'Status', stoppedMode: 'StoppedMode', tags: 'Tags', vlanId: 'VlanId', vpcAttributes: 'VpcAttributes', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { autoReleaseTime: 'string', clusterId: 'string', cpu: 'number', cpuOptions: DescribeInstancesResponseBodyInstancesInstanceCpuOptions, creationTime: 'string', creditSpecification: 'string', dedicatedHostAttribute: DescribeInstancesResponseBodyInstancesInstanceDedicatedHostAttribute, dedicatedInstanceAttribute: DescribeInstancesResponseBodyInstancesInstanceDedicatedInstanceAttribute, deletionProtection: 'boolean', deploymentSetGroupNo: 'number', deploymentSetId: 'string', description: 'string', deviceAvailable: 'boolean', ecsCapacityReservationAttr: DescribeInstancesResponseBodyInstancesInstanceEcsCapacityReservationAttr, eipAddress: DescribeInstancesResponseBodyInstancesInstanceEipAddress, expiredTime: 'string', GPUAmount: 'number', GPUSpec: 'string', hibernationOptions: DescribeInstancesResponseBodyInstancesInstanceHibernationOptions, hostName: 'string', hpcClusterId: 'string', ISP: 'string', imageId: 'string', imageOptions: DescribeInstancesResponseBodyInstancesInstanceImageOptions, innerIpAddress: DescribeInstancesResponseBodyInstancesInstanceInnerIpAddress, instanceChargeType: 'string', instanceId: 'string', instanceName: 'string', instanceNetworkType: 'string', instanceType: 'string', instanceTypeFamily: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'boolean', keyPairName: 'string', localStorageAmount: 'number', localStorageCapacity: 'number', memory: 'number', metadataOptions: DescribeInstancesResponseBodyInstancesInstanceMetadataOptions, networkInterfaces: DescribeInstancesResponseBodyInstancesInstanceNetworkInterfaces, OSName: 'string', OSNameEn: 'string', OSType: 'string', operationLocks: DescribeInstancesResponseBodyInstancesInstanceOperationLocks, publicIpAddress: DescribeInstancesResponseBodyInstancesInstancePublicIpAddress, rdmaIpAddress: DescribeInstancesResponseBodyInstancesInstanceRdmaIpAddress, recyclable: 'boolean', regionId: 'string', resourceGroupId: 'string', saleCycle: 'string', securityGroupIds: DescribeInstancesResponseBodyInstancesInstanceSecurityGroupIds, serialNumber: 'string', spotDuration: 'number', spotInterruptionBehavior: 'string', spotPriceLimit: 'number', spotStrategy: 'string', startTime: 'string', status: 'string', stoppedMode: 'string', tags: DescribeInstancesResponseBodyInstancesInstanceTags, vlanId: 'string', vpcAttributes: DescribeInstancesResponseBodyInstancesInstanceVpcAttributes, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesResponseBodyInstances extends $tea.Model { instance?: DescribeInstancesResponseBodyInstancesInstance[]; static names(): { [key: string]: string } { return { instance: 'Instance', }; } static types(): { [key: string]: any } { return { instance: { 'type': 'array', 'itemType': DescribeInstancesResponseBodyInstancesInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusRequestEventPublishTime extends $tea.Model { end?: string; start?: string; static names(): { [key: string]: string } { return { end: 'End', start: 'Start', }; } static types(): { [key: string]: any } { return { end: 'string', start: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusRequestNotBefore extends $tea.Model { end?: string; start?: string; static names(): { [key: string]: string } { return { end: 'End', start: 'Start', }; } static types(): { [key: string]: any } { return { end: 'string', start: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeHealthStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventCycleStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventType extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk extends $tea.Model { creationTime?: string; deviceCategory?: string; deviceSize?: string; deviceType?: string; releaseTime?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', deviceCategory: 'DeviceCategory', deviceSize: 'DeviceSize', deviceType: 'DeviceType', releaseTime: 'ReleaseTime', }; } static types(): { [key: string]: any } { return { creationTime: 'string', deviceCategory: 'string', deviceSize: 'string', deviceType: 'string', releaseTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisks extends $tea.Model { inactiveDisk?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk[]; static names(): { [key: string]: string } { return { inactiveDisk: 'InactiveDisk', }; } static types(): { [key: string]: any } { return { inactiveDisk: { 'type': 'array', 'itemType': DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisksInactiveDisk }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttribute extends $tea.Model { device?: string; diskId?: string; inactiveDisks?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisks; static names(): { [key: string]: string } { return { device: 'Device', diskId: 'DiskId', inactiveDisks: 'InactiveDisks', }; } static types(): { [key: string]: any } { return { device: 'string', diskId: 'string', inactiveDisks: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttributeInactiveDisks, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventType extends $tea.Model { eventCycleStatus?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventCycleStatus; eventId?: string; eventPublishTime?: string; eventType?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventType; extendedAttribute?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttribute; impactLevel?: string; notBefore?: string; reason?: string; static names(): { [key: string]: string } { return { eventCycleStatus: 'EventCycleStatus', eventId: 'EventId', eventPublishTime: 'EventPublishTime', eventType: 'EventType', extendedAttribute: 'ExtendedAttribute', impactLevel: 'ImpactLevel', notBefore: 'NotBefore', reason: 'Reason', }; } static types(): { [key: string]: any } { return { eventCycleStatus: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventCycleStatus, eventId: 'string', eventPublishTime: 'string', eventType: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeEventType, extendedAttribute: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventTypeExtendedAttribute, impactLevel: 'string', notBefore: 'string', reason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSet extends $tea.Model { scheduledSystemEventType?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventType[]; static names(): { [key: string]: string } { return { scheduledSystemEventType: 'ScheduledSystemEventType', }; } static types(): { [key: string]: any } { return { scheduledSystemEventType: { 'type': 'array', 'itemType': DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSetScheduledSystemEventType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeStatus extends $tea.Model { code?: number; name?: string; static names(): { [key: string]: string } { return { code: 'Code', name: 'Name', }; } static types(): { [key: string]: any } { return { code: 'number', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusType extends $tea.Model { healthStatus?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeHealthStatus; instanceId?: string; scheduledSystemEventSet?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSet; status?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeStatus; static names(): { [key: string]: string } { return { healthStatus: 'HealthStatus', instanceId: 'InstanceId', scheduledSystemEventSet: 'ScheduledSystemEventSet', status: 'Status', }; } static types(): { [key: string]: any } { return { healthStatus: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeHealthStatus, instanceId: 'string', scheduledSystemEventSet: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeScheduledSystemEventSet, status: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusTypeStatus, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInstancesFullStatusResponseBodyInstanceFullStatusSet extends $tea.Model { instanceFullStatusType?: DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusType[]; static names(): { [key: string]: string } { return { instanceFullStatusType: 'InstanceFullStatusType', }; } static types(): { [key: string]: any } { return { instanceFullStatusType: { 'type': 'array', 'itemType': DescribeInstancesFullStatusResponseBodyInstanceFullStatusSetInstanceFullStatusType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTags extends $tea.Model { tag?: DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResult extends $tea.Model { commandId?: string; containerId?: string; containerName?: string; dropped?: number; errorCode?: string; errorInfo?: string; exitCode?: number; finishedTime?: string; instanceId?: string; invocationStatus?: string; invokeId?: string; invokeRecordStatus?: string; output?: string; repeats?: number; startTime?: string; stopTime?: string; tags?: DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTags; username?: string; static names(): { [key: string]: string } { return { commandId: 'CommandId', containerId: 'ContainerId', containerName: 'ContainerName', dropped: 'Dropped', errorCode: 'ErrorCode', errorInfo: 'ErrorInfo', exitCode: 'ExitCode', finishedTime: 'FinishedTime', instanceId: 'InstanceId', invocationStatus: 'InvocationStatus', invokeId: 'InvokeId', invokeRecordStatus: 'InvokeRecordStatus', output: 'Output', repeats: 'Repeats', startTime: 'StartTime', stopTime: 'StopTime', tags: 'Tags', username: 'Username', }; } static types(): { [key: string]: any } { return { commandId: 'string', containerId: 'string', containerName: 'string', dropped: 'number', errorCode: 'string', errorInfo: 'string', exitCode: 'number', finishedTime: 'string', instanceId: 'string', invocationStatus: 'string', invokeId: 'string', invokeRecordStatus: 'string', output: 'string', repeats: 'number', startTime: 'string', stopTime: 'string', tags: DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResultTags, username: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBodyInvocationInvocationResults extends $tea.Model { invocationResult?: DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResult[]; static names(): { [key: string]: string } { return { invocationResult: 'InvocationResult', }; } static types(): { [key: string]: any } { return { invocationResult: { 'type': 'array', 'itemType': DescribeInvocationResultsResponseBodyInvocationInvocationResultsInvocationResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationResultsResponseBodyInvocation extends $tea.Model { invocationResults?: DescribeInvocationResultsResponseBodyInvocationInvocationResults; nextToken?: string; pageNumber?: number; pageSize?: number; totalCount?: number; static names(): { [key: string]: string } { return { invocationResults: 'InvocationResults', nextToken: 'NextToken', pageNumber: 'PageNumber', pageSize: 'PageSize', totalCount: 'TotalCount', }; } static types(): { [key: string]: any } { return { invocationResults: DescribeInvocationResultsResponseBodyInvocationInvocationResults, nextToken: 'string', pageNumber: 'number', pageSize: 'number', totalCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance extends $tea.Model { creationTime?: string; dropped?: number; errorCode?: string; errorInfo?: string; exitCode?: number; finishTime?: string; instanceId?: string; instanceInvokeStatus?: string; invocationStatus?: string; output?: string; repeats?: number; startTime?: string; stopTime?: string; timed?: boolean; updateTime?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', dropped: 'Dropped', errorCode: 'ErrorCode', errorInfo: 'ErrorInfo', exitCode: 'ExitCode', finishTime: 'FinishTime', instanceId: 'InstanceId', instanceInvokeStatus: 'InstanceInvokeStatus', invocationStatus: 'InvocationStatus', output: 'Output', repeats: 'Repeats', startTime: 'StartTime', stopTime: 'StopTime', timed: 'Timed', updateTime: 'UpdateTime', }; } static types(): { [key: string]: any } { return { creationTime: 'string', dropped: 'number', errorCode: 'string', errorInfo: 'string', exitCode: 'number', finishTime: 'string', instanceId: 'string', instanceInvokeStatus: 'string', invocationStatus: 'string', output: 'string', repeats: 'number', startTime: 'string', stopTime: 'string', timed: 'boolean', updateTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstances extends $tea.Model { invokeInstance?: DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance[]; static names(): { [key: string]: string } { return { invokeInstance: 'InvokeInstance', }; } static types(): { [key: string]: any } { return { invokeInstance: { 'type': 'array', 'itemType': DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocationsInvocationTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocationsInvocationTags extends $tea.Model { tag?: DescribeInvocationsResponseBodyInvocationsInvocationTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeInvocationsResponseBodyInvocationsInvocationTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocationsInvocation extends $tea.Model { commandContent?: string; commandDescription?: string; commandId?: string; commandName?: string; commandType?: string; containerId?: string; containerName?: string; creationTime?: string; frequency?: string; invocationStatus?: string; invokeId?: string; invokeInstances?: DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstances; invokeStatus?: string; parameters?: string; repeatMode?: string; tags?: DescribeInvocationsResponseBodyInvocationsInvocationTags; timed?: boolean; timeout?: number; username?: string; workingDir?: string; static names(): { [key: string]: string } { return { commandContent: 'CommandContent', commandDescription: 'CommandDescription', commandId: 'CommandId', commandName: 'CommandName', commandType: 'CommandType', containerId: 'ContainerId', containerName: 'ContainerName', creationTime: 'CreationTime', frequency: 'Frequency', invocationStatus: 'InvocationStatus', invokeId: 'InvokeId', invokeInstances: 'InvokeInstances', invokeStatus: 'InvokeStatus', parameters: 'Parameters', repeatMode: 'RepeatMode', tags: 'Tags', timed: 'Timed', timeout: 'Timeout', username: 'Username', workingDir: 'WorkingDir', }; } static types(): { [key: string]: any } { return { commandContent: 'string', commandDescription: 'string', commandId: 'string', commandName: 'string', commandType: 'string', containerId: 'string', containerName: 'string', creationTime: 'string', frequency: 'string', invocationStatus: 'string', invokeId: 'string', invokeInstances: DescribeInvocationsResponseBodyInvocationsInvocationInvokeInstances, invokeStatus: 'string', parameters: 'string', repeatMode: 'string', tags: DescribeInvocationsResponseBodyInvocationsInvocationTags, timed: 'boolean', timeout: 'number', username: 'string', workingDir: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeInvocationsResponseBodyInvocations extends $tea.Model { invocation?: DescribeInvocationsResponseBodyInvocationsInvocation[]; static names(): { [key: string]: string } { return { invocation: 'Invocation', }; } static types(): { [key: string]: any } { return { invocation: { 'type': 'array', 'itemType': DescribeInvocationsResponseBodyInvocationsInvocation }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponseBodyKeyPairsKeyPairTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponseBodyKeyPairsKeyPairTags extends $tea.Model { tag?: DescribeKeyPairsResponseBodyKeyPairsKeyPairTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeKeyPairsResponseBodyKeyPairsKeyPairTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponseBodyKeyPairsKeyPair extends $tea.Model { creationTime?: string; keyPairFingerPrint?: string; keyPairName?: string; publicKey?: string; resourceGroupId?: string; tags?: DescribeKeyPairsResponseBodyKeyPairsKeyPairTags; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', keyPairFingerPrint: 'KeyPairFingerPrint', keyPairName: 'KeyPairName', publicKey: 'PublicKey', resourceGroupId: 'ResourceGroupId', tags: 'Tags', }; } static types(): { [key: string]: any } { return { creationTime: 'string', keyPairFingerPrint: 'string', keyPairName: 'string', publicKey: 'string', resourceGroupId: 'string', tags: DescribeKeyPairsResponseBodyKeyPairsKeyPairTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeKeyPairsResponseBodyKeyPairs extends $tea.Model { keyPair?: DescribeKeyPairsResponseBodyKeyPairsKeyPair[]; static names(): { [key: string]: string } { return { keyPair: 'KeyPair', }; } static types(): { [key: string]: any } { return { keyPair: { 'type': 'array', 'itemType': DescribeKeyPairsResponseBodyKeyPairsKeyPair }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSystemDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; diskName?: string; encrypted?: string; iops?: number; performanceLevel?: string; provisionedIops?: number; size?: number; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', diskName: 'DiskName', encrypted: 'Encrypted', iops: 'Iops', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', diskName: 'string', encrypted: 'string', iops: 'number', performanceLevel: 'string', provisionedIops: 'number', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisksDataDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encrypted?: string; performanceLevel?: string; provisionedIops?: number; size?: number; snapshotId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encrypted: 'Encrypted', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encrypted: 'string', performanceLevel: 'string', provisionedIops: 'number', size: 'number', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisks extends $tea.Model { dataDisk?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisksDataDisk[]; static names(): { [key: string]: string } { return { dataDisk: 'DataDisk', }; } static types(): { [key: string]: any } { return { dataDisk: { 'type': 'array', 'itemType': DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisksDataDisk }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterfaceSecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterface extends $tea.Model { description?: string; instanceType?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; primaryIpAddress?: string; securityGroupId?: string; securityGroupIds?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterfaceSecurityGroupIds; vSwitchId?: string; static names(): { [key: string]: string } { return { description: 'Description', instanceType: 'InstanceType', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', primaryIpAddress: 'PrimaryIpAddress', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { description: 'string', instanceType: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', primaryIpAddress: 'string', securityGroupId: 'string', securityGroupIds: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterfaceSecurityGroupIds, vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfaces extends $tea.Model { networkInterface?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterface[]; static names(): { [key: string]: string } { return { networkInterface: 'NetworkInterface', }; } static types(): { [key: string]: any } { return { networkInterface: { 'type': 'array', 'itemType': DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfacesNetworkInterface }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTagsInstanceTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTags extends $tea.Model { instanceTag?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTagsInstanceTag[]; static names(): { [key: string]: string } { return { instanceTag: 'InstanceTag', }; } static types(): { [key: string]: any } { return { instanceTag: { 'type': 'array', 'itemType': DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTagsInstanceTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateData extends $tea.Model { systemDisk?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSystemDisk; autoReleaseTime?: string; creditSpecification?: string; dataDisks?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisks; deletionProtection?: boolean; deploymentSetId?: string; description?: string; enableVmOsConfig?: boolean; hostName?: string; imageId?: string; imageOwnerAlias?: string; instanceChargeType?: string; instanceName?: string; instanceType?: string; internetChargeType?: string; internetMaxBandwidthIn?: number; internetMaxBandwidthOut?: number; ioOptimized?: string; ipv6AddressCount?: number; keyPairName?: string; networkInterfaces?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfaces; networkType?: string; passwordInherit?: boolean; period?: number; privateIpAddress?: string; ramRoleName?: string; resourceGroupId?: string; securityEnhancementStrategy?: string; securityGroupId?: string; securityGroupIds?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSecurityGroupIds; spotDuration?: number; spotPriceLimit?: number; spotStrategy?: string; tags?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTags; userData?: string; vSwitchId?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { systemDisk: 'SystemDisk', autoReleaseTime: 'AutoReleaseTime', creditSpecification: 'CreditSpecification', dataDisks: 'DataDisks', deletionProtection: 'DeletionProtection', deploymentSetId: 'DeploymentSetId', description: 'Description', enableVmOsConfig: 'EnableVmOsConfig', hostName: 'HostName', imageId: 'ImageId', imageOwnerAlias: 'ImageOwnerAlias', instanceChargeType: 'InstanceChargeType', instanceName: 'InstanceName', instanceType: 'InstanceType', internetChargeType: 'InternetChargeType', internetMaxBandwidthIn: 'InternetMaxBandwidthIn', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', ioOptimized: 'IoOptimized', ipv6AddressCount: 'Ipv6AddressCount', keyPairName: 'KeyPairName', networkInterfaces: 'NetworkInterfaces', networkType: 'NetworkType', passwordInherit: 'PasswordInherit', period: 'Period', privateIpAddress: 'PrivateIpAddress', ramRoleName: 'RamRoleName', resourceGroupId: 'ResourceGroupId', securityEnhancementStrategy: 'SecurityEnhancementStrategy', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', spotDuration: 'SpotDuration', spotPriceLimit: 'SpotPriceLimit', spotStrategy: 'SpotStrategy', tags: 'Tags', userData: 'UserData', vSwitchId: 'VSwitchId', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { systemDisk: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSystemDisk, autoReleaseTime: 'string', creditSpecification: 'string', dataDisks: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataDataDisks, deletionProtection: 'boolean', deploymentSetId: 'string', description: 'string', enableVmOsConfig: 'boolean', hostName: 'string', imageId: 'string', imageOwnerAlias: 'string', instanceChargeType: 'string', instanceName: 'string', instanceType: 'string', internetChargeType: 'string', internetMaxBandwidthIn: 'number', internetMaxBandwidthOut: 'number', ioOptimized: 'string', ipv6AddressCount: 'number', keyPairName: 'string', networkInterfaces: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataNetworkInterfaces, networkType: 'string', passwordInherit: 'boolean', period: 'number', privateIpAddress: 'string', ramRoleName: 'string', resourceGroupId: 'string', securityEnhancementStrategy: 'string', securityGroupId: 'string', securityGroupIds: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataSecurityGroupIds, spotDuration: 'number', spotPriceLimit: 'number', spotStrategy: 'string', tags: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateDataTags, userData: 'string', vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSet extends $tea.Model { createTime?: string; createdBy?: string; defaultVersion?: boolean; launchTemplateData?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateData; launchTemplateId?: string; launchTemplateName?: string; modifiedTime?: string; versionDescription?: string; versionNumber?: number; static names(): { [key: string]: string } { return { createTime: 'CreateTime', createdBy: 'CreatedBy', defaultVersion: 'DefaultVersion', launchTemplateData: 'LaunchTemplateData', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', modifiedTime: 'ModifiedTime', versionDescription: 'VersionDescription', versionNumber: 'VersionNumber', }; } static types(): { [key: string]: any } { return { createTime: 'string', createdBy: 'string', defaultVersion: 'boolean', launchTemplateData: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSetLaunchTemplateData, launchTemplateId: 'string', launchTemplateName: 'string', modifiedTime: 'string', versionDescription: 'string', versionNumber: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSets extends $tea.Model { launchTemplateVersionSet?: DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSet[]; static names(): { [key: string]: string } { return { launchTemplateVersionSet: 'LaunchTemplateVersionSet', }; } static types(): { [key: string]: any } { return { launchTemplateVersionSet: { 'type': 'array', 'itemType': DescribeLaunchTemplateVersionsResponseBodyLaunchTemplateVersionSetsLaunchTemplateVersionSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesRequestTemplateTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTags extends $tea.Model { tag?: DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSet extends $tea.Model { createTime?: string; createdBy?: string; defaultVersionNumber?: number; latestVersionNumber?: number; launchTemplateId?: string; launchTemplateName?: string; modifiedTime?: string; resourceGroupId?: string; tags?: DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTags; static names(): { [key: string]: string } { return { createTime: 'CreateTime', createdBy: 'CreatedBy', defaultVersionNumber: 'DefaultVersionNumber', latestVersionNumber: 'LatestVersionNumber', launchTemplateId: 'LaunchTemplateId', launchTemplateName: 'LaunchTemplateName', modifiedTime: 'ModifiedTime', resourceGroupId: 'ResourceGroupId', tags: 'Tags', }; } static types(): { [key: string]: any } { return { createTime: 'string', createdBy: 'string', defaultVersionNumber: 'number', latestVersionNumber: 'number', launchTemplateId: 'string', launchTemplateName: 'string', modifiedTime: 'string', resourceGroupId: 'string', tags: DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSetTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeLaunchTemplatesResponseBodyLaunchTemplateSets extends $tea.Model { launchTemplateSet?: DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSet[]; static names(): { [key: string]: string } { return { launchTemplateSet: 'LaunchTemplateSet', }; } static types(): { [key: string]: any } { return { launchTemplateSet: { 'type': 'array', 'itemType': DescribeLaunchTemplatesResponseBodyLaunchTemplateSetsLaunchTemplateSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesResponseBodyInstancesTags extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeManagedInstancesResponseBodyInstances extends $tea.Model { activationId?: string; agentVersion?: string; connected?: boolean; hostname?: string; instanceId?: string; instanceName?: string; internetIp?: string; intranetIp?: string; invocationCount?: number; lastInvokedTime?: string; machineId?: string; osType?: string; osVersion?: string; registrationTime?: string; resourceGroupId?: string; tags?: DescribeManagedInstancesResponseBodyInstancesTags[]; static names(): { [key: string]: string } { return { activationId: 'ActivationId', agentVersion: 'AgentVersion', connected: 'Connected', hostname: 'Hostname', instanceId: 'InstanceId', instanceName: 'InstanceName', internetIp: 'InternetIp', intranetIp: 'IntranetIp', invocationCount: 'InvocationCount', lastInvokedTime: 'LastInvokedTime', machineId: 'MachineId', osType: 'OsType', osVersion: 'OsVersion', registrationTime: 'RegistrationTime', resourceGroupId: 'ResourceGroupId', tags: 'Tags', }; } static types(): { [key: string]: any } { return { activationId: 'string', agentVersion: 'string', connected: 'boolean', hostname: 'string', instanceId: 'string', instanceName: 'string', internetIp: 'string', intranetIp: 'string', invocationCount: 'number', lastInvokedTime: 'string', machineId: 'string', osType: 'string', osVersion: 'string', registrationTime: 'string', resourceGroupId: 'string', tags: { 'type': 'array', 'itemType': DescribeManagedInstancesResponseBodyInstancesTags }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayBandwidthPackageIds extends $tea.Model { bandwidthPackageId?: string[]; static names(): { [key: string]: string } { return { bandwidthPackageId: 'BandwidthPackageId', }; } static types(): { [key: string]: any } { return { bandwidthPackageId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds extends $tea.Model { forwardTableId?: string[]; static names(): { [key: string]: string } { return { forwardTableId: 'ForwardTableId', }; } static types(): { [key: string]: any } { return { forwardTableId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway extends $tea.Model { bandwidthPackageIds?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayBandwidthPackageIds; businessStatus?: string; creationTime?: string; description?: string; forwardTableIds?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds; instanceChargeType?: string; name?: string; natGatewayId?: string; regionId?: string; spec?: string; status?: string; vpcId?: string; static names(): { [key: string]: string } { return { bandwidthPackageIds: 'BandwidthPackageIds', businessStatus: 'BusinessStatus', creationTime: 'CreationTime', description: 'Description', forwardTableIds: 'ForwardTableIds', instanceChargeType: 'InstanceChargeType', name: 'Name', natGatewayId: 'NatGatewayId', regionId: 'RegionId', spec: 'Spec', status: 'Status', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { bandwidthPackageIds: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayBandwidthPackageIds, businessStatus: 'string', creationTime: 'string', description: 'string', forwardTableIds: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds, instanceChargeType: 'string', name: 'string', natGatewayId: 'string', regionId: 'string', spec: 'string', status: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNatGatewaysResponseBodyNatGateways extends $tea.Model { natGateway?: DescribeNatGatewaysResponseBodyNatGatewaysNatGateway[]; static names(): { [key: string]: string } { return { natGateway: 'NatGateway', }; } static types(): { [key: string]: any } { return { natGateway: { 'type': 'array', 'itemType': DescribeNatGatewaysResponseBodyNatGatewaysNatGateway }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyAssociatedPublicIp extends $tea.Model { allocationId?: string; publicIpAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', publicIpAddress: 'PublicIpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', publicIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyAttachmentMemberNetworkInterfaceIds extends $tea.Model { memberNetworkInterfaceId?: string[]; static names(): { [key: string]: string } { return { memberNetworkInterfaceId: 'MemberNetworkInterfaceId', }; } static types(): { [key: string]: any } { return { memberNetworkInterfaceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyAttachment extends $tea.Model { deviceIndex?: number; instanceId?: string; memberNetworkInterfaceIds?: DescribeNetworkInterfaceAttributeResponseBodyAttachmentMemberNetworkInterfaceIds; networkCardIndex?: number; trunkNetworkInterfaceId?: string; static names(): { [key: string]: string } { return { deviceIndex: 'DeviceIndex', instanceId: 'InstanceId', memberNetworkInterfaceIds: 'MemberNetworkInterfaceIds', networkCardIndex: 'NetworkCardIndex', trunkNetworkInterfaceId: 'TrunkNetworkInterfaceId', }; } static types(): { [key: string]: any } { return { deviceIndex: 'number', instanceId: 'string', memberNetworkInterfaceIds: DescribeNetworkInterfaceAttributeResponseBodyAttachmentMemberNetworkInterfaceIds, networkCardIndex: 'number', trunkNetworkInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecificationSlaveInterfaceSpecificationSet extends $tea.Model { bondNetworkInterfaceId?: string; slaveNetworkInterfaceId?: string; workState?: string; static names(): { [key: string]: string } { return { bondNetworkInterfaceId: 'BondNetworkInterfaceId', slaveNetworkInterfaceId: 'SlaveNetworkInterfaceId', workState: 'WorkState', }; } static types(): { [key: string]: any } { return { bondNetworkInterfaceId: 'string', slaveNetworkInterfaceId: 'string', workState: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecification extends $tea.Model { slaveInterfaceSpecificationSet?: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecificationSlaveInterfaceSpecificationSet[]; static names(): { [key: string]: string } { return { slaveInterfaceSpecificationSet: 'SlaveInterfaceSpecificationSet', }; } static types(): { [key: string]: any } { return { slaveInterfaceSpecificationSet: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecificationSlaveInterfaceSpecificationSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecification extends $tea.Model { bondMode?: string; slaveInterfaceSpecification?: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecification; static names(): { [key: string]: string } { return { bondMode: 'BondMode', slaveInterfaceSpecification: 'SlaveInterfaceSpecification', }; } static types(): { [key: string]: any } { return { bondMode: 'string', slaveInterfaceSpecification: DescribeNetworkInterfaceAttributeResponseBodyBondInterfaceSpecificationSlaveInterfaceSpecification, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSetsIpv4PrefixSet extends $tea.Model { ipv4Prefix?: string; static names(): { [key: string]: string } { return { ipv4Prefix: 'Ipv4Prefix', }; } static types(): { [key: string]: any } { return { ipv4Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSets extends $tea.Model { ipv4PrefixSet?: DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSetsIpv4PrefixSet[]; static names(): { [key: string]: string } { return { ipv4PrefixSet: 'Ipv4PrefixSet', }; } static types(): { [key: string]: any } { return { ipv4PrefixSet: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyIpv4PrefixSetsIpv4PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSetsIpv6PrefixSet extends $tea.Model { ipv6Prefix?: string; static names(): { [key: string]: string } { return { ipv6Prefix: 'Ipv6Prefix', }; } static types(): { [key: string]: any } { return { ipv6Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSets extends $tea.Model { ipv6PrefixSet?: DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSetsIpv6PrefixSet[]; static names(): { [key: string]: string } { return { ipv6PrefixSet: 'Ipv6PrefixSet', }; } static types(): { [key: string]: any } { return { ipv6PrefixSet: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyIpv6PrefixSetsIpv6PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv6SetsIpv6Set extends $tea.Model { ipv6Address?: string; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', }; } static types(): { [key: string]: any } { return { ipv6Address: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyIpv6Sets extends $tea.Model { ipv6Set?: DescribeNetworkInterfaceAttributeResponseBodyIpv6SetsIpv6Set[]; static names(): { [key: string]: string } { return { ipv6Set: 'Ipv6Set', }; } static types(): { [key: string]: any } { return { ipv6Set: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyIpv6SetsIpv6Set }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSetAssociatedPublicIp extends $tea.Model { allocationId?: string; publicIpAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', publicIpAddress: 'PublicIpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', publicIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSet extends $tea.Model { associatedPublicIp?: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSetAssociatedPublicIp; primary?: boolean; privateIpAddress?: string; static names(): { [key: string]: string } { return { associatedPublicIp: 'AssociatedPublicIp', primary: 'Primary', privateIpAddress: 'PrivateIpAddress', }; } static types(): { [key: string]: any } { return { associatedPublicIp: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSetAssociatedPublicIp, primary: 'boolean', privateIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSets extends $tea.Model { privateIpSet?: DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSet[]; static names(): { [key: string]: string } { return { privateIpSet: 'PrivateIpSet', }; } static types(): { [key: string]: any } { return { privateIpSet: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyPrivateIpSetsPrivateIpSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodySecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodySlaveInterfaceSpecification extends $tea.Model { bondNetworkInterfaceId?: string; slaveNetworkInterfaceId?: string; workState?: string; static names(): { [key: string]: string } { return { bondNetworkInterfaceId: 'BondNetworkInterfaceId', slaveNetworkInterfaceId: 'SlaveNetworkInterfaceId', workState: 'WorkState', }; } static types(): { [key: string]: any } { return { bondNetworkInterfaceId: 'string', slaveNetworkInterfaceId: 'string', workState: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfaceAttributeResponseBodyTags extends $tea.Model { tag?: DescribeNetworkInterfaceAttributeResponseBodyTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeNetworkInterfaceAttributeResponseBodyTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissionsNetworkInterfacePermission extends $tea.Model { accountId?: number; networkInterfaceId?: string; networkInterfacePermissionId?: string; permission?: string; permissionState?: string; serviceName?: string; static names(): { [key: string]: string } { return { accountId: 'AccountId', networkInterfaceId: 'NetworkInterfaceId', networkInterfacePermissionId: 'NetworkInterfacePermissionId', permission: 'Permission', permissionState: 'PermissionState', serviceName: 'ServiceName', }; } static types(): { [key: string]: any } { return { accountId: 'number', networkInterfaceId: 'string', networkInterfacePermissionId: 'string', permission: 'string', permissionState: 'string', serviceName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissions extends $tea.Model { networkInterfacePermission?: DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissionsNetworkInterfacePermission[]; static names(): { [key: string]: string } { return { networkInterfacePermission: 'NetworkInterfacePermission', }; } static types(): { [key: string]: any } { return { networkInterfacePermission: { 'type': 'array', 'itemType': DescribeNetworkInterfacePermissionsResponseBodyNetworkInterfacePermissionsNetworkInterfacePermission }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAssociatedPublicIp extends $tea.Model { allocationId?: string; publicIpAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', publicIpAddress: 'PublicIpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', publicIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAttachment extends $tea.Model { deviceIndex?: number; instanceId?: string; networkCardIndex?: number; trunkNetworkInterfaceId?: string; static names(): { [key: string]: string } { return { deviceIndex: 'DeviceIndex', instanceId: 'InstanceId', networkCardIndex: 'NetworkCardIndex', trunkNetworkInterfaceId: 'TrunkNetworkInterfaceId', }; } static types(): { [key: string]: any } { return { deviceIndex: 'number', instanceId: 'string', networkCardIndex: 'number', trunkNetworkInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSetsIpv4PrefixSet extends $tea.Model { ipv4Prefix?: string; static names(): { [key: string]: string } { return { ipv4Prefix: 'Ipv4Prefix', }; } static types(): { [key: string]: any } { return { ipv4Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSets extends $tea.Model { ipv4PrefixSet?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSetsIpv4PrefixSet[]; static names(): { [key: string]: string } { return { ipv4PrefixSet: 'Ipv4PrefixSet', }; } static types(): { [key: string]: any } { return { ipv4PrefixSet: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSetsIpv4PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSetsIpv6PrefixSet extends $tea.Model { ipv6Prefix?: string; static names(): { [key: string]: string } { return { ipv6Prefix: 'Ipv6Prefix', }; } static types(): { [key: string]: any } { return { ipv6Prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSets extends $tea.Model { ipv6PrefixSet?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSetsIpv6PrefixSet[]; static names(): { [key: string]: string } { return { ipv6PrefixSet: 'Ipv6PrefixSet', }; } static types(): { [key: string]: any } { return { ipv6PrefixSet: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSetsIpv6PrefixSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6SetsIpv6Set extends $tea.Model { ipv6Address?: string; static names(): { [key: string]: string } { return { ipv6Address: 'Ipv6Address', }; } static types(): { [key: string]: any } { return { ipv6Address: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6Sets extends $tea.Model { ipv6Set?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6SetsIpv6Set[]; static names(): { [key: string]: string } { return { ipv6Set: 'Ipv6Set', }; } static types(): { [key: string]: any } { return { ipv6Set: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6SetsIpv6Set }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSetAssociatedPublicIp extends $tea.Model { allocationId?: string; publicIpAddress?: string; static names(): { [key: string]: string } { return { allocationId: 'AllocationId', publicIpAddress: 'PublicIpAddress', }; } static types(): { [key: string]: any } { return { allocationId: 'string', publicIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSet extends $tea.Model { associatedPublicIp?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSetAssociatedPublicIp; primary?: boolean; privateIpAddress?: string; static names(): { [key: string]: string } { return { associatedPublicIp: 'AssociatedPublicIp', primary: 'Primary', privateIpAddress: 'PrivateIpAddress', }; } static types(): { [key: string]: any } { return { associatedPublicIp: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSetAssociatedPublicIp, primary: 'boolean', privateIpAddress: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSets extends $tea.Model { privateIpSet?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSet[]; static names(): { [key: string]: string } { return { privateIpSet: 'PrivateIpSet', }; } static types(): { [key: string]: any } { return { privateIpSet: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSetsPrivateIpSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetSecurityGroupIds extends $tea.Model { securityGroupId?: string[]; static names(): { [key: string]: string } { return { securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { securityGroupId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTags extends $tea.Model { tag?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSet extends $tea.Model { associatedPublicIp?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAssociatedPublicIp; attachment?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAttachment; creationTime?: string; deleteOnRelease?: boolean; description?: string; instanceId?: string; ipv4PrefixSets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSets; ipv6PrefixSets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSets; ipv6Sets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6Sets; macAddress?: string; networkInterfaceId?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; ownerId?: string; privateIpAddress?: string; privateIpSets?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSets; queueNumber?: number; queuePairNumber?: number; resourceGroupId?: string; securityGroupIds?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetSecurityGroupIds; serviceID?: number; serviceManaged?: boolean; status?: string; tags?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTags; type?: string; vSwitchId?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { associatedPublicIp: 'AssociatedPublicIp', attachment: 'Attachment', creationTime: 'CreationTime', deleteOnRelease: 'DeleteOnRelease', description: 'Description', instanceId: 'InstanceId', ipv4PrefixSets: 'Ipv4PrefixSets', ipv6PrefixSets: 'Ipv6PrefixSets', ipv6Sets: 'Ipv6Sets', macAddress: 'MacAddress', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', ownerId: 'OwnerId', privateIpAddress: 'PrivateIpAddress', privateIpSets: 'PrivateIpSets', queueNumber: 'QueueNumber', queuePairNumber: 'QueuePairNumber', 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 { associatedPublicIp: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAssociatedPublicIp, attachment: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetAttachment, creationTime: 'string', deleteOnRelease: 'boolean', description: 'string', instanceId: 'string', ipv4PrefixSets: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv4PrefixSets, ipv6PrefixSets: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6PrefixSets, ipv6Sets: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetIpv6Sets, macAddress: 'string', networkInterfaceId: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', ownerId: 'string', privateIpAddress: 'string', privateIpSets: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetPrivateIpSets, queueNumber: 'number', queuePairNumber: 'number', resourceGroupId: 'string', securityGroupIds: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetSecurityGroupIds, serviceID: 'number', serviceManaged: 'boolean', status: 'string', tags: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSetTags, type: 'string', vSwitchId: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNetworkInterfacesResponseBodyNetworkInterfaceSets extends $tea.Model { networkInterfaceSet?: DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSet[]; static names(): { [key: string]: string } { return { networkInterfaceSet: 'NetworkInterfaceSet', }; } static types(): { [key: string]: any } { return { networkInterfaceSet: { 'type': 'array', 'itemType': DescribeNetworkInterfacesResponseBodyNetworkInterfaceSetsNetworkInterfaceSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData extends $tea.Model { eipBandwidth?: number; eipFlow?: number; eipPackets?: number; eipRX?: number; eipTX?: number; timeStamp?: string; static names(): { [key: string]: string } { return { eipBandwidth: 'EipBandwidth', eipFlow: 'EipFlow', eipPackets: 'EipPackets', eipRX: 'EipRX', eipTX: 'EipTX', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { eipBandwidth: 'number', eipFlow: 'number', eipPackets: 'number', eipRX: 'number', eipTX: 'number', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatas extends $tea.Model { eipMonitorData?: DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData[]; static names(): { [key: string]: string } { return { eipMonitorData: 'EipMonitorData', }; } static types(): { [key: string]: any } { return { eipMonitorData: { 'type': 'array', 'itemType': DescribeNewProjectEipMonitorDataResponseBodyEipMonitorDatasEipMonitorData }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsResponseBodyPhysicalConnectionSetPhysicalConnectionType extends $tea.Model { accessPointId?: string; adLocation?: string; bandwidth?: number; businessStatus?: string; circuitCode?: string; creationTime?: string; description?: string; enabledTime?: string; lineOperator?: string; name?: string; peerLocation?: string; physicalConnectionId?: string; portNumber?: string; portType?: string; redundantPhysicalConnectionId?: string; spec?: string; status?: string; type?: string; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', adLocation: 'AdLocation', bandwidth: 'Bandwidth', businessStatus: 'BusinessStatus', circuitCode: 'CircuitCode', creationTime: 'CreationTime', description: 'Description', enabledTime: 'EnabledTime', lineOperator: 'LineOperator', name: 'Name', peerLocation: 'PeerLocation', physicalConnectionId: 'PhysicalConnectionId', portNumber: 'PortNumber', portType: 'PortType', redundantPhysicalConnectionId: 'RedundantPhysicalConnectionId', spec: 'Spec', status: 'Status', type: 'Type', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', adLocation: 'string', bandwidth: 'number', businessStatus: 'string', circuitCode: 'string', creationTime: 'string', description: 'string', enabledTime: 'string', lineOperator: 'string', name: 'string', peerLocation: 'string', physicalConnectionId: 'string', portNumber: 'string', portType: 'string', redundantPhysicalConnectionId: 'string', spec: 'string', status: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePhysicalConnectionsResponseBodyPhysicalConnectionSet extends $tea.Model { physicalConnectionType?: DescribePhysicalConnectionsResponseBodyPhysicalConnectionSetPhysicalConnectionType[]; static names(): { [key: string]: string } { return { physicalConnectionType: 'PhysicalConnectionType', }; } static types(): { [key: string]: any } { return { physicalConnectionType: { 'type': 'array', 'itemType': DescribePhysicalConnectionsResponseBodyPhysicalConnectionSetPhysicalConnectionType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAssociationsResponseBodyPrefixListAssociationsPrefixListAssociation extends $tea.Model { resourceId?: string; resourceType?: string; static names(): { [key: string]: string } { return { resourceId: 'ResourceId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { resourceId: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAssociationsResponseBodyPrefixListAssociations extends $tea.Model { prefixListAssociation?: DescribePrefixListAssociationsResponseBodyPrefixListAssociationsPrefixListAssociation[]; static names(): { [key: string]: string } { return { prefixListAssociation: 'PrefixListAssociation', }; } static types(): { [key: string]: any } { return { prefixListAssociation: { 'type': 'array', 'itemType': DescribePrefixListAssociationsResponseBodyPrefixListAssociationsPrefixListAssociation }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAttributesResponseBodyEntriesEntry extends $tea.Model { cidr?: string; description?: string; static names(): { [key: string]: string } { return { cidr: 'Cidr', description: 'Description', }; } static types(): { [key: string]: any } { return { cidr: 'string', description: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListAttributesResponseBodyEntries extends $tea.Model { entry?: DescribePrefixListAttributesResponseBodyEntriesEntry[]; static names(): { [key: string]: string } { return { entry: 'Entry', }; } static types(): { [key: string]: any } { return { entry: { 'type': 'array', 'itemType': DescribePrefixListAttributesResponseBodyEntriesEntry }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListsResponseBodyPrefixListsPrefixList extends $tea.Model { addressFamily?: string; associationCount?: number; creationTime?: string; description?: string; maxEntries?: number; prefixListId?: string; prefixListName?: string; static names(): { [key: string]: string } { return { addressFamily: 'AddressFamily', associationCount: 'AssociationCount', creationTime: 'CreationTime', description: 'Description', maxEntries: 'MaxEntries', prefixListId: 'PrefixListId', prefixListName: 'PrefixListName', }; } static types(): { [key: string]: any } { return { addressFamily: 'string', associationCount: 'number', creationTime: 'string', description: 'string', maxEntries: 'number', prefixListId: 'string', prefixListName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePrefixListsResponseBodyPrefixLists extends $tea.Model { prefixList?: DescribePrefixListsResponseBodyPrefixListsPrefixList[]; static names(): { [key: string]: string } { return { prefixList: 'PrefixList', }; } static types(): { [key: string]: any } { return { prefixList: { 'type': 'array', 'itemType': DescribePrefixListsResponseBodyPrefixListsPrefixList }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceRequestDataDisk extends $tea.Model { category?: string; performanceLevel?: string; size?: number; static names(): { [key: string]: string } { return { category: 'Category', performanceLevel: 'PerformanceLevel', size: 'Size', }; } static types(): { [key: string]: any } { return { category: 'string', performanceLevel: 'string', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceRequestSchedulerOptions extends $tea.Model { dedicatedHostId?: string; static names(): { [key: string]: string } { return { dedicatedHostId: 'DedicatedHostId', }; } static types(): { [key: string]: any } { return { dedicatedHostId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceRequestSystemDisk extends $tea.Model { category?: string; performanceLevel?: string; size?: number; static names(): { [key: string]: string } { return { category: 'Category', performanceLevel: 'PerformanceLevel', size: 'Size', }; } static types(): { [key: string]: any } { return { category: 'string', performanceLevel: 'string', size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule extends $tea.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules extends $tea.Model { rule?: DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel extends $tea.Model { discountPrice?: number; originalPrice?: number; resource?: string; subRules?: DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules; tradePrice?: number; static names(): { [key: string]: string } { return { discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', resource: 'Resource', subRules: 'SubRules', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { discountPrice: 'number', originalPrice: 'number', resource: 'string', subRules: DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules, tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoPriceDetailInfos extends $tea.Model { resourcePriceModel?: DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel[]; static names(): { [key: string]: string } { return { resourcePriceModel: 'ResourcePriceModel', }; } static types(): { [key: string]: any } { return { resourcePriceModel: { 'type': 'array', 'itemType': DescribePriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoPrice extends $tea.Model { currency?: string; detailInfos?: DescribePriceResponseBodyPriceInfoPriceDetailInfos; discountPrice?: number; originalPrice?: number; reservedInstanceHourPrice?: number; tradePrice?: number; static names(): { [key: string]: string } { return { currency: 'Currency', detailInfos: 'DetailInfos', discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', reservedInstanceHourPrice: 'ReservedInstanceHourPrice', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { currency: 'string', detailInfos: DescribePriceResponseBodyPriceInfoPriceDetailInfos, discountPrice: 'number', originalPrice: 'number', reservedInstanceHourPrice: 'number', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoRulesRule extends $tea.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfoRules extends $tea.Model { rule?: DescribePriceResponseBodyPriceInfoRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribePriceResponseBodyPriceInfoRulesRule }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribePriceResponseBodyPriceInfo extends $tea.Model { price?: DescribePriceResponseBodyPriceInfoPrice; rules?: DescribePriceResponseBodyPriceInfoRules; static names(): { [key: string]: string } { return { price: 'Price', rules: 'Rules', }; } static types(): { [key: string]: any } { return { price: DescribePriceResponseBodyPriceInfoPrice, rules: DescribePriceResponseBodyPriceInfoRules, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeInstanceType extends $tea.Model { cores?: number; generation?: string; instanceType?: string; instanceTypeFamily?: string; memory?: number; supportIoOptimized?: string; static names(): { [key: string]: string } { return { cores: 'Cores', generation: 'Generation', instanceType: 'InstanceType', instanceTypeFamily: 'InstanceTypeFamily', memory: 'Memory', supportIoOptimized: 'SupportIoOptimized', }; } static types(): { [key: string]: any } { return { cores: 'number', generation: 'string', instanceType: 'string', instanceTypeFamily: 'string', memory: 'number', supportIoOptimized: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZoneNetworkTypes extends $tea.Model { networkType?: string[]; static names(): { [key: string]: string } { return { networkType: 'NetworkType', }; } static types(): { [key: string]: any } { return { networkType: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZone extends $tea.Model { networkTypes?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZoneNetworkTypes; zoneNo?: string; static names(): { [key: string]: string } { return { networkTypes: 'NetworkTypes', zoneNo: 'ZoneNo', }; } static types(): { [key: string]: any } { return { networkTypes: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZoneNetworkTypes, zoneNo: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZones extends $tea.Model { zone?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZone[]; static names(): { [key: string]: string } { return { zone: 'zone', }; } static types(): { [key: string]: any } { return { zone: { 'type': 'array', 'itemType': DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZone }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceType extends $tea.Model { commodityCode?: string; instanceChargeType?: string; instanceType?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeInstanceType; networkType?: string; priority?: number; regionId?: string; scene?: string; spotStrategy?: string; zoneId?: string; zones?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZones; static names(): { [key: string]: string } { return { commodityCode: 'CommodityCode', instanceChargeType: 'InstanceChargeType', instanceType: 'InstanceType', networkType: 'NetworkType', priority: 'Priority', regionId: 'RegionId', scene: 'Scene', spotStrategy: 'SpotStrategy', zoneId: 'ZoneId', zones: 'Zones', }; } static types(): { [key: string]: any } { return { commodityCode: 'string', instanceChargeType: 'string', instanceType: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeInstanceType, networkType: 'string', priority: 'number', regionId: 'string', scene: 'string', spotStrategy: 'string', zoneId: 'string', zones: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZones, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRecommendInstanceTypeResponseBodyData extends $tea.Model { recommendInstanceType?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceType[]; static names(): { [key: string]: string } { return { recommendInstanceType: 'RecommendInstanceType', }; } static types(): { [key: string]: any } { return { recommendInstanceType: { 'type': 'array', 'itemType': DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRegionsResponseBodyRegionsRegion extends $tea.Model { localName?: string; regionEndpoint?: string; regionId?: string; status?: string; static names(): { [key: string]: string } { return { localName: 'LocalName', regionEndpoint: 'RegionEndpoint', regionId: 'RegionId', status: 'Status', }; } static types(): { [key: string]: any } { return { localName: 'string', regionEndpoint: 'string', regionId: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRegionsResponseBodyRegions extends $tea.Model { region?: DescribeRegionsResponseBodyRegionsRegion[]; static names(): { [key: string]: string } { return { region: 'Region', }; } static types(): { [key: string]: any } { return { region: { 'type': 'array', 'itemType': DescribeRegionsResponseBodyRegionsRegion }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule extends $tea.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules extends $tea.Model { rule?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRulesRule }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel extends $tea.Model { discountPrice?: number; originalPrice?: number; resource?: string; subRules?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules; tradePrice?: number; static names(): { [key: string]: string } { return { discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', resource: 'Resource', subRules: 'SubRules', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { discountPrice: 'number', originalPrice: 'number', resource: 'string', subRules: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModelSubRules, tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos extends $tea.Model { resourcePriceModel?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel[]; static names(): { [key: string]: string } { return { resourcePriceModel: 'ResourcePriceModel', }; } static types(): { [key: string]: any } { return { resourcePriceModel: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosResourcePriceModel }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPrice extends $tea.Model { currency?: string; detailInfos?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos; discountPrice?: number; originalPrice?: number; tradePrice?: number; static names(): { [key: string]: string } { return { currency: 'Currency', detailInfos: 'DetailInfos', discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { currency: 'string', detailInfos: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos, discountPrice: 'number', originalPrice: 'number', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoRulesRule extends $tea.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoRules extends $tea.Model { rule?: DescribeRenewalPriceResponseBodyPriceInfoRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoRulesRule }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfo extends $tea.Model { price?: DescribeRenewalPriceResponseBodyPriceInfoPrice; rules?: DescribeRenewalPriceResponseBodyPriceInfoRules; static names(): { [key: string]: string } { return { price: 'Price', rules: 'Rules', }; } static types(): { [key: string]: any } { return { price: DescribeRenewalPriceResponseBodyPriceInfoPrice, rules: DescribeRenewalPriceResponseBodyPriceInfoRules, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributesReservedInstanceRenewAttribute extends $tea.Model { duration?: number; periodUnit?: string; renewalStatus?: string; reservedInstanceId?: string; static names(): { [key: string]: string } { return { duration: 'Duration', periodUnit: 'PeriodUnit', renewalStatus: 'RenewalStatus', reservedInstanceId: 'ReservedInstanceId', }; } static types(): { [key: string]: any } { return { duration: 'number', periodUnit: 'string', renewalStatus: 'string', reservedInstanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributes extends $tea.Model { reservedInstanceRenewAttribute?: DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributesReservedInstanceRenewAttribute[]; static names(): { [key: string]: string } { return { reservedInstanceRenewAttribute: 'ReservedInstanceRenewAttribute', }; } static types(): { [key: string]: any } { return { reservedInstanceRenewAttribute: { 'type': 'array', 'itemType': DescribeReservedInstanceAutoRenewAttributeResponseBodyReservedInstanceRenewAttributesReservedInstanceRenewAttribute }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocksOperationLock extends $tea.Model { lockReason?: string; static names(): { [key: string]: string } { return { lockReason: 'LockReason', }; } static types(): { [key: string]: any } { return { lockReason: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocks extends $tea.Model { operationLock?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocksOperationLock[]; static names(): { [key: string]: string } { return { operationLock: 'OperationLock', }; } static types(): { [key: string]: any } { return { operationLock: { 'type': 'array', 'itemType': DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocksOperationLock }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTags extends $tea.Model { tag?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstance extends $tea.Model { allocationStatus?: string; creationTime?: string; description?: string; expiredTime?: string; instanceAmount?: number; instanceType?: string; offeringType?: string; operationLocks?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocks; platform?: string; regionId?: string; reservedInstanceId?: string; reservedInstanceName?: string; resourceGroupId?: string; scope?: string; startTime?: string; status?: string; tags?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTags; zoneId?: string; static names(): { [key: string]: string } { return { allocationStatus: 'AllocationStatus', creationTime: 'CreationTime', description: 'Description', expiredTime: 'ExpiredTime', instanceAmount: 'InstanceAmount', instanceType: 'InstanceType', offeringType: 'OfferingType', operationLocks: 'OperationLocks', platform: 'Platform', regionId: 'RegionId', reservedInstanceId: 'ReservedInstanceId', reservedInstanceName: 'ReservedInstanceName', resourceGroupId: 'ResourceGroupId', scope: 'Scope', startTime: 'StartTime', status: 'Status', tags: 'Tags', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { allocationStatus: 'string', creationTime: 'string', description: 'string', expiredTime: 'string', instanceAmount: 'number', instanceType: 'string', offeringType: 'string', operationLocks: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocks, platform: 'string', regionId: 'string', reservedInstanceId: 'string', reservedInstanceName: 'string', resourceGroupId: 'string', scope: 'string', startTime: 'string', status: 'string', tags: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTags, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeReservedInstancesResponseBodyReservedInstances extends $tea.Model { reservedInstance?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstance[]; static names(): { [key: string]: string } { return { reservedInstance: 'ReservedInstance', }; } static types(): { [key: string]: any } { return { reservedInstance: { 'type': 'array', 'itemType': DescribeReservedInstancesResponseBodyReservedInstancesReservedInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsResponseBodyResourcesResource extends $tea.Model { regionId?: string; resourceId?: string; resourceType?: string; static names(): { [key: string]: string } { return { regionId: 'RegionId', resourceId: 'ResourceId', resourceType: 'ResourceType', }; } static types(): { [key: string]: any } { return { regionId: 'string', resourceId: 'string', resourceType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourceByTagsResponseBodyResources extends $tea.Model { resource?: DescribeResourceByTagsResponseBodyResourcesResource[]; static names(): { [key: string]: string } { return { resource: 'Resource', }; } static types(): { [key: string]: any } { return { resource: { 'type': 'array', 'itemType': DescribeResourceByTagsResponseBodyResourcesResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition extends $tea.Model { key?: string; static names(): { [key: string]: string } { return { key: 'Key', }; } static types(): { [key: string]: any } { return { key: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditions extends $tea.Model { condition?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition[]; static names(): { [key: string]: string } { return { condition: 'Condition', }; } static types(): { [key: string]: any } { return { condition: { 'type': 'array', 'itemType': DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditionsCondition }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource extends $tea.Model { conditions?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditions; max?: number; min?: number; status?: string; statusCategory?: string; unit?: string; value?: string; static names(): { [key: string]: string } { return { conditions: 'Conditions', max: 'Max', min: 'Min', status: 'Status', statusCategory: 'StatusCategory', unit: 'Unit', value: 'Value', }; } static types(): { [key: string]: any } { return { conditions: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResourceConditions, max: 'number', min: 'number', status: 'string', statusCategory: 'string', unit: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResources extends $tea.Model { conditionSupportedResource?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource[]; static names(): { [key: string]: string } { return { conditionSupportedResource: 'ConditionSupportedResource', }; } static types(): { [key: string]: any } { return { conditionSupportedResource: { 'type': 'array', 'itemType': DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResourcesConditionSupportedResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource extends $tea.Model { max?: number; min?: number; status?: string; statusCategory?: string; unit?: string; value?: string; static names(): { [key: string]: string } { return { max: 'Max', min: 'Min', status: 'Status', statusCategory: 'StatusCategory', unit: 'Unit', value: 'Value', }; } static types(): { [key: string]: any } { return { max: 'number', min: 'number', status: 'string', statusCategory: 'string', unit: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources extends $tea.Model { supportedResource?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource[]; static names(): { [key: string]: string } { return { supportedResource: 'SupportedResource', }; } static types(): { [key: string]: any } { return { supportedResource: { 'type': 'array', 'itemType': DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResourcesSupportedResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource extends $tea.Model { conditionSupportedResources?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResources; supportedResources?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources; type?: string; static names(): { [key: string]: string } { return { conditionSupportedResources: 'ConditionSupportedResources', supportedResources: 'SupportedResources', type: 'Type', }; } static types(): { [key: string]: any } { return { conditionSupportedResources: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceConditionSupportedResources, supportedResources: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResourceSupportedResources, type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResources extends $tea.Model { availableResource?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource[]; static names(): { [key: string]: string } { return { availableResource: 'AvailableResource', }; } static types(): { [key: string]: any } { return { availableResource: { 'type': 'array', 'itemType': DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResourcesAvailableResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZonesAvailableZone extends $tea.Model { availableResources?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResources; regionId?: string; status?: string; statusCategory?: string; zoneId?: string; static names(): { [key: string]: string } { return { availableResources: 'AvailableResources', regionId: 'RegionId', status: 'Status', statusCategory: 'StatusCategory', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableResources: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZoneAvailableResources, regionId: 'string', status: 'string', statusCategory: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeResourcesModificationResponseBodyAvailableZones extends $tea.Model { availableZone?: DescribeResourcesModificationResponseBodyAvailableZonesAvailableZone[]; static names(): { [key: string]: string } { return { availableZone: 'AvailableZone', }; } static types(): { [key: string]: any } { return { availableZone: { 'type': 'array', 'itemType': DescribeResourcesModificationResponseBodyAvailableZonesAvailableZone }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHopsNextHop extends $tea.Model { enabled?: number; nextHopId?: string; nextHopType?: string; weight?: number; static names(): { [key: string]: string } { return { enabled: 'Enabled', nextHopId: 'NextHopId', nextHopType: 'NextHopType', weight: 'Weight', }; } static types(): { [key: string]: any } { return { enabled: 'number', nextHopId: 'string', nextHopType: 'string', weight: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHops extends $tea.Model { nextHop?: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHopsNextHop[]; static names(): { [key: string]: string } { return { nextHop: 'NextHop', }; } static types(): { [key: string]: any } { return { nextHop: { 'type': 'array', 'itemType': DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHopsNextHop }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntry extends $tea.Model { destinationCidrBlock?: string; instanceId?: string; nextHopType?: string; nextHops?: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHops; routeTableId?: string; status?: string; type?: string; static names(): { [key: string]: string } { return { destinationCidrBlock: 'DestinationCidrBlock', instanceId: 'InstanceId', nextHopType: 'NextHopType', nextHops: 'NextHops', routeTableId: 'RouteTableId', status: 'Status', type: 'Type', }; } static types(): { [key: string]: any } { return { destinationCidrBlock: 'string', instanceId: 'string', nextHopType: 'string', nextHops: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntryNextHops, routeTableId: 'string', status: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrys extends $tea.Model { routeEntry?: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntry[]; static names(): { [key: string]: string } { return { routeEntry: 'RouteEntry', }; } static types(): { [key: string]: any } { return { routeEntry: { 'type': 'array', 'itemType': DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrysRouteEntry }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTablesRouteTable extends $tea.Model { creationTime?: string; resourceGroupId?: string; routeEntrys?: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrys; routeTableId?: string; routeTableType?: string; VRouterId?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', resourceGroupId: 'ResourceGroupId', routeEntrys: 'RouteEntrys', routeTableId: 'RouteTableId', routeTableType: 'RouteTableType', VRouterId: 'VRouterId', }; } static types(): { [key: string]: any } { return { creationTime: 'string', resourceGroupId: 'string', routeEntrys: DescribeRouteTablesResponseBodyRouteTablesRouteTableRouteEntrys, routeTableId: 'string', routeTableType: 'string', VRouterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouteTablesResponseBodyRouteTables extends $tea.Model { routeTable?: DescribeRouteTablesResponseBodyRouteTablesRouteTable[]; static names(): { [key: string]: string } { return { routeTable: 'RouteTable', }; } static types(): { [key: string]: any } { return { routeTable: { 'type': 'array', 'itemType': DescribeRouteTablesResponseBodyRouteTablesRouteTable }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesResponseBodyRouterInterfaceSetRouterInterfaceType extends $tea.Model { accessPointId?: string; businessStatus?: string; chargeType?: string; connectedTime?: string; creationTime?: string; description?: string; endTime?: string; healthCheckSourceIp?: string; healthCheckTargetIp?: string; name?: string; oppositeAccessPointId?: string; oppositeInterfaceBusinessStatus?: string; oppositeInterfaceId?: string; oppositeInterfaceOwnerId?: string; oppositeInterfaceSpec?: string; oppositeInterfaceStatus?: string; oppositeRegionId?: string; oppositeRouterId?: string; oppositeRouterType?: string; role?: string; routerId?: string; routerInterfaceId?: string; routerType?: string; spec?: string; status?: string; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', businessStatus: 'BusinessStatus', chargeType: 'ChargeType', connectedTime: 'ConnectedTime', creationTime: 'CreationTime', description: 'Description', endTime: 'EndTime', healthCheckSourceIp: 'HealthCheckSourceIp', healthCheckTargetIp: 'HealthCheckTargetIp', name: 'Name', oppositeAccessPointId: 'OppositeAccessPointId', oppositeInterfaceBusinessStatus: 'OppositeInterfaceBusinessStatus', oppositeInterfaceId: 'OppositeInterfaceId', oppositeInterfaceOwnerId: 'OppositeInterfaceOwnerId', oppositeInterfaceSpec: 'OppositeInterfaceSpec', oppositeInterfaceStatus: 'OppositeInterfaceStatus', oppositeRegionId: 'OppositeRegionId', oppositeRouterId: 'OppositeRouterId', oppositeRouterType: 'OppositeRouterType', role: 'Role', routerId: 'RouterId', routerInterfaceId: 'RouterInterfaceId', routerType: 'RouterType', spec: 'Spec', status: 'Status', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', businessStatus: 'string', chargeType: 'string', connectedTime: 'string', creationTime: 'string', description: 'string', endTime: 'string', healthCheckSourceIp: 'string', healthCheckTargetIp: 'string', name: 'string', oppositeAccessPointId: 'string', oppositeInterfaceBusinessStatus: 'string', oppositeInterfaceId: 'string', oppositeInterfaceOwnerId: 'string', oppositeInterfaceSpec: 'string', oppositeInterfaceStatus: 'string', oppositeRegionId: 'string', oppositeRouterId: 'string', oppositeRouterType: 'string', role: 'string', routerId: 'string', routerInterfaceId: 'string', routerType: 'string', spec: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRouterInterfacesResponseBodyRouterInterfaceSet extends $tea.Model { routerInterfaceType?: DescribeRouterInterfacesResponseBodyRouterInterfaceSetRouterInterfaceType[]; static names(): { [key: string]: string } { return { routerInterfaceType: 'RouterInterfaceType', }; } static types(): { [key: string]: any } { return { routerInterfaceType: { 'type': 'array', 'itemType': DescribeRouterInterfacesResponseBodyRouterInterfaceSetRouterInterfaceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceResponseBodyPriceInfoPrice extends $tea.Model { currency?: string; discountPrice?: number; originalPrice?: number; tradePrice?: number; static names(): { [key: string]: string } { return { currency: 'Currency', discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { currency: 'string', discountPrice: 'number', originalPrice: 'number', tradePrice: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceResponseBodyPriceInfoRules extends $tea.Model { description?: string; ruleId?: string; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlanPriceResponseBodyPriceInfo extends $tea.Model { price?: DescribeSavingsPlanPriceResponseBodyPriceInfoPrice; rules?: DescribeSavingsPlanPriceResponseBodyPriceInfoRules[]; static names(): { [key: string]: string } { return { price: 'Price', rules: 'Rules', }; } static types(): { [key: string]: any } { return { price: DescribeSavingsPlanPriceResponseBodyPriceInfoPrice, rules: { 'type': 'array', 'itemType': DescribeSavingsPlanPriceResponseBodyPriceInfoRules }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupAttributeResponseBodyPermissionsPermission extends $tea.Model { createTime?: string; description?: string; destCidrIp?: string; destGroupId?: string; destGroupName?: string; destGroupOwnerAccount?: string; destPrefixListId?: string; destPrefixListName?: string; direction?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; policy?: string; portRange?: string; priority?: string; securityGroupRuleId?: string; sourceCidrIp?: string; sourceGroupId?: string; sourceGroupName?: string; sourceGroupOwnerAccount?: string; sourcePortRange?: string; sourcePrefixListId?: string; sourcePrefixListName?: string; static names(): { [key: string]: string } { return { createTime: 'CreateTime', description: 'Description', destCidrIp: 'DestCidrIp', destGroupId: 'DestGroupId', destGroupName: 'DestGroupName', destGroupOwnerAccount: 'DestGroupOwnerAccount', destPrefixListId: 'DestPrefixListId', destPrefixListName: 'DestPrefixListName', direction: 'Direction', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', securityGroupRuleId: 'SecurityGroupRuleId', sourceCidrIp: 'SourceCidrIp', sourceGroupId: 'SourceGroupId', sourceGroupName: 'SourceGroupName', sourceGroupOwnerAccount: 'SourceGroupOwnerAccount', sourcePortRange: 'SourcePortRange', sourcePrefixListId: 'SourcePrefixListId', sourcePrefixListName: 'SourcePrefixListName', }; } static types(): { [key: string]: any } { return { createTime: 'string', description: 'string', destCidrIp: 'string', destGroupId: 'string', destGroupName: 'string', destGroupOwnerAccount: 'string', destPrefixListId: 'string', destPrefixListName: 'string', direction: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', policy: 'string', portRange: 'string', priority: 'string', securityGroupRuleId: 'string', sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupName: 'string', sourceGroupOwnerAccount: 'string', sourcePortRange: 'string', sourcePrefixListId: 'string', sourcePrefixListName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupAttributeResponseBodyPermissions extends $tea.Model { permission?: DescribeSecurityGroupAttributeResponseBodyPermissionsPermission[]; static names(): { [key: string]: string } { return { permission: 'Permission', }; } static types(): { [key: string]: any } { return { permission: { 'type': 'array', 'itemType': DescribeSecurityGroupAttributeResponseBodyPermissionsPermission }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroupsReferencingSecurityGroup extends $tea.Model { aliUid?: string; securityGroupId?: string; static names(): { [key: string]: string } { return { aliUid: 'AliUid', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { aliUid: 'string', securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroups extends $tea.Model { referencingSecurityGroup?: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroupsReferencingSecurityGroup[]; static names(): { [key: string]: string } { return { referencingSecurityGroup: 'ReferencingSecurityGroup', }; } static types(): { [key: string]: any } { return { referencingSecurityGroup: { 'type': 'array', 'itemType': DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroupsReferencingSecurityGroup }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReference extends $tea.Model { referencingSecurityGroups?: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroups; securityGroupId?: string; static names(): { [key: string]: string } { return { referencingSecurityGroups: 'ReferencingSecurityGroups', securityGroupId: 'SecurityGroupId', }; } static types(): { [key: string]: any } { return { referencingSecurityGroups: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReferenceReferencingSecurityGroups, securityGroupId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupReferencesResponseBodySecurityGroupReferences extends $tea.Model { securityGroupReference?: DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReference[]; static names(): { [key: string]: string } { return { securityGroupReference: 'SecurityGroupReference', }; } static types(): { [key: string]: any } { return { securityGroupReference: { 'type': 'array', 'itemType': DescribeSecurityGroupReferencesResponseBodySecurityGroupReferencesSecurityGroupReference }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTags extends $tea.Model { tag?: DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroup extends $tea.Model { availableInstanceAmount?: number; creationTime?: string; description?: string; ecsCount?: number; resourceGroupId?: string; securityGroupId?: string; securityGroupName?: string; securityGroupType?: string; serviceID?: number; serviceManaged?: boolean; tags?: DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTags; vpcId?: string; static names(): { [key: string]: string } { return { availableInstanceAmount: 'AvailableInstanceAmount', creationTime: 'CreationTime', description: 'Description', ecsCount: 'EcsCount', resourceGroupId: 'ResourceGroupId', securityGroupId: 'SecurityGroupId', securityGroupName: 'SecurityGroupName', securityGroupType: 'SecurityGroupType', serviceID: 'ServiceID', serviceManaged: 'ServiceManaged', tags: 'Tags', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { availableInstanceAmount: 'number', creationTime: 'string', description: 'string', ecsCount: 'number', resourceGroupId: 'string', securityGroupId: 'string', securityGroupName: 'string', securityGroupType: 'string', serviceID: 'number', serviceManaged: 'boolean', tags: DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroupTags, vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSecurityGroupsResponseBodySecurityGroups extends $tea.Model { securityGroup?: DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroup[]; static names(): { [key: string]: string } { return { securityGroup: 'SecurityGroup', }; } static types(): { [key: string]: any } { return { securityGroup: { 'type': 'array', 'itemType': DescribeSecurityGroupsResponseBodySecurityGroupsSecurityGroup }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance extends $tea.Model { creationTime?: string; errorCode?: string; errorInfo?: string; finishTime?: string; instanceId?: string; invocationStatus?: string; startTime?: string; updateTime?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', errorCode: 'ErrorCode', errorInfo: 'ErrorInfo', finishTime: 'FinishTime', instanceId: 'InstanceId', invocationStatus: 'InvocationStatus', startTime: 'StartTime', updateTime: 'UpdateTime', }; } static types(): { [key: string]: any } { return { creationTime: 'string', errorCode: 'string', errorInfo: 'string', finishTime: 'string', instanceId: 'string', invocationStatus: 'string', startTime: 'string', updateTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstances extends $tea.Model { invokeInstance?: DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance[]; static names(): { [key: string]: string } { return { invokeInstance: 'InvokeInstance', }; } static types(): { [key: string]: any } { return { invokeInstance: { 'type': 'array', 'itemType': DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstancesInvokeInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocationsInvocationTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocationsInvocationTags extends $tea.Model { tag?: DescribeSendFileResultsResponseBodyInvocationsInvocationTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeSendFileResultsResponseBodyInvocationsInvocationTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocationsInvocation extends $tea.Model { content?: string; contentType?: string; creationTime?: string; description?: string; fileGroup?: string; fileMode?: string; fileOwner?: string; invocationStatus?: string; invokeId?: string; invokeInstances?: DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstances; name?: string; overwrite?: string; tags?: DescribeSendFileResultsResponseBodyInvocationsInvocationTags; targetDir?: string; vmCount?: number; static names(): { [key: string]: string } { return { content: 'Content', contentType: 'ContentType', creationTime: 'CreationTime', description: 'Description', fileGroup: 'FileGroup', fileMode: 'FileMode', fileOwner: 'FileOwner', invocationStatus: 'InvocationStatus', invokeId: 'InvokeId', invokeInstances: 'InvokeInstances', name: 'Name', overwrite: 'Overwrite', tags: 'Tags', targetDir: 'TargetDir', vmCount: 'VmCount', }; } static types(): { [key: string]: any } { return { content: 'string', contentType: 'string', creationTime: 'string', description: 'string', fileGroup: 'string', fileMode: 'string', fileOwner: 'string', invocationStatus: 'string', invokeId: 'string', invokeInstances: DescribeSendFileResultsResponseBodyInvocationsInvocationInvokeInstances, name: 'string', overwrite: 'string', tags: DescribeSendFileResultsResponseBodyInvocationsInvocationTags, targetDir: 'string', vmCount: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSendFileResultsResponseBodyInvocations extends $tea.Model { invocation?: DescribeSendFileResultsResponseBodyInvocationsInvocation[]; static names(): { [key: string]: string } { return { invocation: 'Invocation', }; } static types(): { [key: string]: any } { return { invocation: { 'type': 'array', 'itemType': DescribeSendFileResultsResponseBodyInvocationsInvocation }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTagsTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTags extends $tea.Model { tag?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshot extends $tea.Model { available?: boolean; instantAccess?: boolean; instantAccessRetentionDays?: number; progress?: string; snapshotId?: string; sourceDiskId?: string; sourceDiskType?: string; tags?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTags; static names(): { [key: string]: string } { return { available: 'Available', instantAccess: 'InstantAccess', instantAccessRetentionDays: 'InstantAccessRetentionDays', progress: 'Progress', snapshotId: 'SnapshotId', sourceDiskId: 'SourceDiskId', sourceDiskType: 'SourceDiskType', tags: 'Tags', }; } static types(): { [key: string]: any } { return { available: 'boolean', instantAccess: 'boolean', instantAccessRetentionDays: 'number', progress: 'string', snapshotId: 'string', sourceDiskId: 'string', sourceDiskType: 'string', tags: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshotTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshots extends $tea.Model { snapshot?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshot[]; static names(): { [key: string]: string } { return { snapshot: 'Snapshot', }; } static types(): { [key: string]: any } { return { snapshot: { 'type': 'array', 'itemType': DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshotsSnapshot }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTagsTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTags extends $tea.Model { tag?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroup extends $tea.Model { creationTime?: string; description?: string; instanceId?: string; name?: string; progressStatus?: string; resourceGroupId?: string; snapshotGroupId?: string; snapshots?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshots; status?: string; tags?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTags; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', description: 'Description', instanceId: 'InstanceId', name: 'Name', progressStatus: 'ProgressStatus', resourceGroupId: 'ResourceGroupId', snapshotGroupId: 'SnapshotGroupId', snapshots: 'Snapshots', status: 'Status', tags: 'Tags', }; } static types(): { [key: string]: any } { return { creationTime: 'string', description: 'string', instanceId: 'string', name: 'string', progressStatus: 'string', resourceGroupId: 'string', snapshotGroupId: 'string', snapshots: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupSnapshots, status: 'string', tags: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroupTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotGroupsResponseBodySnapshotGroups extends $tea.Model { snapshotGroup?: DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroup[]; static names(): { [key: string]: string } { return { snapshotGroup: 'SnapshotGroup', }; } static types(): { [key: string]: any } { return { snapshotGroup: { 'type': 'array', 'itemType': DescribeSnapshotGroupsResponseBodySnapshotGroupsSnapshotGroup }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotLinksResponseBodySnapshotLinksSnapshotLink extends $tea.Model { category?: string; instanceId?: string; instanceName?: string; instantAccess?: boolean; regionId?: string; snapshotLinkId?: string; sourceDiskId?: string; sourceDiskName?: string; sourceDiskSize?: number; sourceDiskType?: string; totalCount?: number; totalSize?: number; static names(): { [key: string]: string } { return { category: 'Category', instanceId: 'InstanceId', instanceName: 'InstanceName', instantAccess: 'InstantAccess', regionId: 'RegionId', snapshotLinkId: 'SnapshotLinkId', sourceDiskId: 'SourceDiskId', sourceDiskName: 'SourceDiskName', sourceDiskSize: 'SourceDiskSize', sourceDiskType: 'SourceDiskType', totalCount: 'TotalCount', totalSize: 'TotalSize', }; } static types(): { [key: string]: any } { return { category: 'string', instanceId: 'string', instanceName: 'string', instantAccess: 'boolean', regionId: 'string', snapshotLinkId: 'string', sourceDiskId: 'string', sourceDiskName: 'string', sourceDiskSize: 'number', sourceDiskType: 'string', totalCount: 'number', totalSize: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotLinksResponseBodySnapshotLinks extends $tea.Model { snapshotLink?: DescribeSnapshotLinksResponseBodySnapshotLinksSnapshotLink[]; static names(): { [key: string]: string } { return { snapshotLink: 'SnapshotLink', }; } static types(): { [key: string]: any } { return { snapshotLink: { 'type': 'array', 'itemType': DescribeSnapshotLinksResponseBodySnapshotLinksSnapshotLink }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotMonitorDataResponseBodyMonitorDataDataPoint extends $tea.Model { size?: number; timeStamp?: string; static names(): { [key: string]: string } { return { size: 'Size', timeStamp: 'TimeStamp', }; } static types(): { [key: string]: any } { return { size: 'number', timeStamp: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotMonitorDataResponseBodyMonitorData extends $tea.Model { dataPoint?: DescribeSnapshotMonitorDataResponseBodyMonitorDataDataPoint[]; static names(): { [key: string]: string } { return { dataPoint: 'DataPoint', }; } static types(): { [key: string]: any } { return { dataPoint: { 'type': 'array', 'itemType': DescribeSnapshotMonitorDataResponseBodyMonitorDataDataPoint }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotPackageResponseBodySnapshotPackagesSnapshotPackage extends $tea.Model { displayName?: string; endTime?: string; initCapacity?: number; startTime?: string; static names(): { [key: string]: string } { return { displayName: 'DisplayName', endTime: 'EndTime', initCapacity: 'InitCapacity', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { displayName: 'string', endTime: 'string', initCapacity: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotPackageResponseBodySnapshotPackages extends $tea.Model { snapshotPackage?: DescribeSnapshotPackageResponseBodySnapshotPackagesSnapshotPackage[]; static names(): { [key: string]: string } { return { snapshotPackage: 'SnapshotPackage', }; } static types(): { [key: string]: any } { return { snapshotPackage: { 'type': 'array', 'itemType': DescribeSnapshotPackageResponseBodySnapshotPackagesSnapshotPackage }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsRequestFilter extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponseBodySnapshotsSnapshotTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponseBodySnapshotsSnapshotTags extends $tea.Model { tag?: DescribeSnapshotsResponseBodySnapshotsSnapshotTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeSnapshotsResponseBodySnapshotsSnapshotTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponseBodySnapshotsSnapshot extends $tea.Model { available?: boolean; category?: string; creationTime?: string; description?: string; encrypted?: boolean; instantAccess?: boolean; instantAccessRetentionDays?: number; KMSKeyId?: string; lastModifiedTime?: string; productCode?: string; progress?: string; regionId?: string; remainTime?: number; resourceGroupId?: string; retentionDays?: number; snapshotId?: string; snapshotName?: string; snapshotSN?: string; snapshotType?: string; sourceDiskId?: string; sourceDiskSize?: string; sourceDiskType?: string; sourceRegionId?: string; sourceSnapshotId?: string; sourceStorageType?: string; status?: string; tags?: DescribeSnapshotsResponseBodySnapshotsSnapshotTags; usage?: string; static names(): { [key: string]: string } { return { available: 'Available', category: 'Category', creationTime: 'CreationTime', description: 'Description', encrypted: 'Encrypted', instantAccess: 'InstantAccess', instantAccessRetentionDays: 'InstantAccessRetentionDays', KMSKeyId: 'KMSKeyId', lastModifiedTime: 'LastModifiedTime', productCode: 'ProductCode', progress: 'Progress', regionId: 'RegionId', remainTime: 'RemainTime', resourceGroupId: 'ResourceGroupId', retentionDays: 'RetentionDays', snapshotId: 'SnapshotId', snapshotName: 'SnapshotName', snapshotSN: 'SnapshotSN', snapshotType: 'SnapshotType', sourceDiskId: 'SourceDiskId', sourceDiskSize: 'SourceDiskSize', sourceDiskType: 'SourceDiskType', sourceRegionId: 'SourceRegionId', sourceSnapshotId: 'SourceSnapshotId', sourceStorageType: 'SourceStorageType', status: 'Status', tags: 'Tags', usage: 'Usage', }; } static types(): { [key: string]: any } { return { available: 'boolean', category: 'string', creationTime: 'string', description: 'string', encrypted: 'boolean', instantAccess: 'boolean', instantAccessRetentionDays: 'number', KMSKeyId: 'string', lastModifiedTime: 'string', productCode: 'string', progress: 'string', regionId: 'string', remainTime: 'number', resourceGroupId: 'string', retentionDays: 'number', snapshotId: 'string', snapshotName: 'string', snapshotSN: 'string', snapshotType: 'string', sourceDiskId: 'string', sourceDiskSize: 'string', sourceDiskType: 'string', sourceRegionId: 'string', sourceSnapshotId: 'string', sourceStorageType: 'string', status: 'string', tags: DescribeSnapshotsResponseBodySnapshotsSnapshotTags, usage: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSnapshotsResponseBodySnapshots extends $tea.Model { snapshot?: DescribeSnapshotsResponseBodySnapshotsSnapshot[]; static names(): { [key: string]: string } { return { snapshot: 'Snapshot', }; } static types(): { [key: string]: any } { return { snapshot: { 'type': 'array', 'itemType': DescribeSnapshotsResponseBodySnapshotsSnapshot }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource extends $tea.Model { averageSpotDiscount?: number; instanceType?: string; interruptRateDesc?: string; interruptionRate?: number; static names(): { [key: string]: string } { return { averageSpotDiscount: 'AverageSpotDiscount', instanceType: 'InstanceType', interruptRateDesc: 'InterruptRateDesc', interruptionRate: 'InterruptionRate', }; } static types(): { [key: string]: any } { return { averageSpotDiscount: 'number', instanceType: 'string', interruptRateDesc: 'string', interruptionRate: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResources extends $tea.Model { availableSpotResource?: DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource[]; static names(): { [key: string]: string } { return { availableSpotResource: 'AvailableSpotResource', }; } static types(): { [key: string]: any } { return { availableSpotResource: { 'type': 'array', 'itemType': DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResourcesAvailableSpotResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZone extends $tea.Model { availableSpotResources?: DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResources; zoneId?: string; static names(): { [key: string]: string } { return { availableSpotResources: 'AvailableSpotResources', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableSpotResources: DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZoneAvailableSpotResources, zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotAdviceResponseBodyAvailableSpotZones extends $tea.Model { availableSpotZone?: DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZone[]; static names(): { [key: string]: string } { return { availableSpotZone: 'AvailableSpotZone', }; } static types(): { [key: string]: any } { return { availableSpotZone: { 'type': 'array', 'itemType': DescribeSpotAdviceResponseBodyAvailableSpotZonesAvailableSpotZone }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotPriceHistoryResponseBodySpotPricesSpotPriceType extends $tea.Model { instanceType?: string; ioOptimized?: string; networkType?: string; originPrice?: number; spotPrice?: number; timestamp?: string; zoneId?: string; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', ioOptimized: 'IoOptimized', networkType: 'NetworkType', originPrice: 'OriginPrice', spotPrice: 'SpotPrice', timestamp: 'Timestamp', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { instanceType: 'string', ioOptimized: 'string', networkType: 'string', originPrice: 'number', spotPrice: 'number', timestamp: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSpotPriceHistoryResponseBodySpotPrices extends $tea.Model { spotPriceType?: DescribeSpotPriceHistoryResponseBodySpotPricesSpotPriceType[]; static names(): { [key: string]: string } { return { spotPriceType: 'SpotPriceType', }; } static types(): { [key: string]: any } { return { spotPriceType: { 'type': 'array', 'itemType': DescribeSpotPriceHistoryResponseBodySpotPricesSpotPriceType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTagsTag extends $tea.Model { tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTags extends $tea.Model { tag?: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnit extends $tea.Model { allocationStatus?: string; capacity?: number; creationTime?: string; description?: string; expiredTime?: string; name?: string; regionId?: string; startTime?: string; status?: string; storageCapacityUnitId?: string; tags?: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTags; static names(): { [key: string]: string } { return { allocationStatus: 'AllocationStatus', capacity: 'Capacity', creationTime: 'CreationTime', description: 'Description', expiredTime: 'ExpiredTime', name: 'Name', regionId: 'RegionId', startTime: 'StartTime', status: 'Status', storageCapacityUnitId: 'StorageCapacityUnitId', tags: 'Tags', }; } static types(): { [key: string]: any } { return { allocationStatus: 'string', capacity: 'number', creationTime: 'string', description: 'string', expiredTime: 'string', name: 'string', regionId: 'string', startTime: 'string', status: 'string', storageCapacityUnitId: 'string', tags: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnitTags, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnits extends $tea.Model { storageCapacityUnit?: DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnit[]; static names(): { [key: string]: string } { return { storageCapacityUnit: 'StorageCapacityUnit', }; } static types(): { [key: string]: any } { return { storageCapacityUnit: { 'type': 'array', 'itemType': DescribeStorageCapacityUnitsResponseBodyStorageCapacityUnitsStorageCapacityUnit }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetDetailsResponseBodyDisksDisk extends $tea.Model { category?: string; creationTime?: string; diskId?: string; diskName?: string; regionId?: string; storageSetId?: string; storageSetPartitionNumber?: number; zoneId?: string; static names(): { [key: string]: string } { return { category: 'Category', creationTime: 'CreationTime', diskId: 'DiskId', diskName: 'DiskName', regionId: 'RegionId', storageSetId: 'StorageSetId', storageSetPartitionNumber: 'StorageSetPartitionNumber', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { category: 'string', creationTime: 'string', diskId: 'string', diskName: 'string', regionId: 'string', storageSetId: 'string', storageSetPartitionNumber: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetDetailsResponseBodyDisks extends $tea.Model { disk?: DescribeStorageSetDetailsResponseBodyDisksDisk[]; static names(): { [key: string]: string } { return { disk: 'Disk', }; } static types(): { [key: string]: any } { return { disk: { 'type': 'array', 'itemType': DescribeStorageSetDetailsResponseBodyDisksDisk }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetsResponseBodyStorageSetsStorageSet extends $tea.Model { creationTime?: string; description?: string; regionId?: string; storageSetId?: string; storageSetName?: string; storageSetPartitionNumber?: number; zoneId?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', description: 'Description', regionId: 'RegionId', storageSetId: 'StorageSetId', storageSetName: 'StorageSetName', storageSetPartitionNumber: 'StorageSetPartitionNumber', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { creationTime: 'string', description: 'string', regionId: 'string', storageSetId: 'string', storageSetName: 'string', storageSetPartitionNumber: 'number', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeStorageSetsResponseBodyStorageSets extends $tea.Model { storageSet?: DescribeStorageSetsResponseBodyStorageSetsStorageSet[]; static names(): { [key: string]: string } { return { storageSet: 'StorageSet', }; } static types(): { [key: string]: any } { return { storageSet: { 'type': 'array', 'itemType': DescribeStorageSetsResponseBodyStorageSetsStorageSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsResponseBodyTagsTagResourceTypeCount extends $tea.Model { ddh?: number; disk?: number; eni?: number; image?: number; instance?: number; keyPair?: number; launchTemplate?: number; reservedInstance?: number; securitygroup?: number; snapshot?: number; snapshotPolicy?: number; volume?: number; static names(): { [key: string]: string } { return { ddh: 'Ddh', disk: 'Disk', eni: 'Eni', image: 'Image', instance: 'Instance', keyPair: 'KeyPair', launchTemplate: 'LaunchTemplate', reservedInstance: 'ReservedInstance', securitygroup: 'Securitygroup', snapshot: 'Snapshot', snapshotPolicy: 'SnapshotPolicy', volume: 'Volume', }; } static types(): { [key: string]: any } { return { ddh: 'number', disk: 'number', eni: 'number', image: 'number', instance: 'number', keyPair: 'number', launchTemplate: 'number', reservedInstance: 'number', securitygroup: 'number', snapshot: 'number', snapshotPolicy: 'number', volume: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsResponseBodyTagsTag extends $tea.Model { resourceTypeCount?: DescribeTagsResponseBodyTagsTagResourceTypeCount; tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { resourceTypeCount: 'ResourceTypeCount', tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { resourceTypeCount: DescribeTagsResponseBodyTagsTagResourceTypeCount, tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTagsResponseBodyTags extends $tea.Model { tag?: DescribeTagsResponseBodyTagsTag[]; static names(): { [key: string]: string } { return { tag: 'Tag', }; } static types(): { [key: string]: any } { return { tag: { 'type': 'array', 'itemType': DescribeTagsResponseBodyTagsTag }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem extends $tea.Model { name?: string; value?: string; static names(): { [key: string]: string } { return { name: 'Name', value: 'Value', }; } static types(): { [key: string]: any } { return { name: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSet extends $tea.Model { relatedItem?: DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem[]; static names(): { [key: string]: string } { return { relatedItem: 'RelatedItem', }; } static types(): { [key: string]: any } { return { relatedItem: { 'type': 'array', 'itemType': DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgress extends $tea.Model { errorCode?: string; errorMsg?: string; operationStatus?: string; relatedItemSet?: DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSet; static names(): { [key: string]: string } { return { errorCode: 'ErrorCode', errorMsg: 'ErrorMsg', operationStatus: 'OperationStatus', relatedItemSet: 'RelatedItemSet', }; } static types(): { [key: string]: any } { return { errorCode: 'string', errorMsg: 'string', operationStatus: 'string', relatedItemSet: DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgressRelatedItemSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTaskAttributeResponseBodyOperationProgressSet extends $tea.Model { operationProgress?: DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgress[]; static names(): { [key: string]: string } { return { operationProgress: 'OperationProgress', }; } static types(): { [key: string]: any } { return { operationProgress: { 'type': 'array', 'itemType': DescribeTaskAttributeResponseBodyOperationProgressSetOperationProgress }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTasksResponseBodyTaskSetTask extends $tea.Model { creationTime?: string; finishedTime?: string; resourceId?: string; supportCancel?: string; taskAction?: string; taskId?: string; taskStatus?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', finishedTime: 'FinishedTime', resourceId: 'ResourceId', supportCancel: 'SupportCancel', taskAction: 'TaskAction', taskId: 'TaskId', taskStatus: 'TaskStatus', }; } static types(): { [key: string]: any } { return { creationTime: 'string', finishedTime: 'string', resourceId: 'string', supportCancel: 'string', taskAction: 'string', taskId: 'string', taskStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTasksResponseBodyTaskSet extends $tea.Model { task?: DescribeTasksResponseBodyTaskSetTask[]; static names(): { [key: string]: string } { return { task: 'Task', }; } static types(): { [key: string]: any } { return { task: { 'type': 'array', 'itemType': DescribeTasksResponseBodyTaskSetTask }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponseBodySessionsSessionConnectionsConnection extends $tea.Model { closedReason?: string; endTime?: string; instanceId?: string; startTime?: string; status?: string; static names(): { [key: string]: string } { return { closedReason: 'ClosedReason', endTime: 'EndTime', instanceId: 'InstanceId', startTime: 'StartTime', status: 'Status', }; } static types(): { [key: string]: any } { return { closedReason: 'string', endTime: 'string', instanceId: 'string', startTime: 'string', status: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponseBodySessionsSessionConnections extends $tea.Model { connection?: DescribeTerminalSessionsResponseBodySessionsSessionConnectionsConnection[]; static names(): { [key: string]: string } { return { connection: 'Connection', }; } static types(): { [key: string]: any } { return { connection: { 'type': 'array', 'itemType': DescribeTerminalSessionsResponseBodySessionsSessionConnectionsConnection }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponseBodySessionsSession extends $tea.Model { clientIP?: string; connections?: DescribeTerminalSessionsResponseBodySessionsSessionConnections; creationTime?: string; identityType?: string; portNumber?: number; principalId?: string; sessionId?: string; targetServer?: string; username?: string; static names(): { [key: string]: string } { return { clientIP: 'ClientIP', connections: 'Connections', creationTime: 'CreationTime', identityType: 'IdentityType', portNumber: 'PortNumber', principalId: 'PrincipalId', sessionId: 'SessionId', targetServer: 'TargetServer', username: 'Username', }; } static types(): { [key: string]: any } { return { clientIP: 'string', connections: DescribeTerminalSessionsResponseBodySessionsSessionConnections, creationTime: 'string', identityType: 'string', portNumber: 'number', principalId: 'string', sessionId: 'string', targetServer: 'string', username: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeTerminalSessionsResponseBodySessions extends $tea.Model { session?: DescribeTerminalSessionsResponseBodySessionsSession[]; static names(): { [key: string]: string } { return { session: 'Session', }; } static types(): { [key: string]: any } { return { session: { 'type': 'array', 'itemType': DescribeTerminalSessionsResponseBodySessionsSession }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersResponseBodyVRoutersVRouterRouteTableIds extends $tea.Model { routeTableId?: string[]; static names(): { [key: string]: string } { return { routeTableId: 'RouteTableId', }; } static types(): { [key: string]: any } { return { routeTableId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersResponseBodyVRoutersVRouter extends $tea.Model { creationTime?: string; description?: string; regionId?: string; routeTableIds?: DescribeVRoutersResponseBodyVRoutersVRouterRouteTableIds; VRouterId?: string; VRouterName?: string; vpcId?: string; static names(): { [key: string]: string } { return { creationTime: 'CreationTime', description: 'Description', regionId: 'RegionId', routeTableIds: 'RouteTableIds', VRouterId: 'VRouterId', VRouterName: 'VRouterName', vpcId: 'VpcId', }; } static types(): { [key: string]: any } { return { creationTime: 'string', description: 'string', regionId: 'string', routeTableIds: DescribeVRoutersResponseBodyVRoutersVRouterRouteTableIds, VRouterId: 'string', VRouterName: 'string', vpcId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVRoutersResponseBodyVRouters extends $tea.Model { VRouter?: DescribeVRoutersResponseBodyVRoutersVRouter[]; static names(): { [key: string]: string } { return { VRouter: 'VRouter', }; } static types(): { [key: string]: any } { return { VRouter: { 'type': 'array', 'itemType': DescribeVRoutersResponseBodyVRoutersVRouter }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVSwitchesResponseBodyVSwitchesVSwitch extends $tea.Model { availableIpAddressCount?: number; cidrBlock?: string; creationTime?: string; description?: string; isDefault?: boolean; resourceGroupId?: string; status?: string; vSwitchId?: string; vSwitchName?: string; vpcId?: string; zoneId?: string; static names(): { [key: string]: string } { return { availableIpAddressCount: 'AvailableIpAddressCount', cidrBlock: 'CidrBlock', creationTime: 'CreationTime', description: 'Description', isDefault: 'IsDefault', resourceGroupId: 'ResourceGroupId', status: 'Status', vSwitchId: 'VSwitchId', vSwitchName: 'VSwitchName', vpcId: 'VpcId', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { availableIpAddressCount: 'number', cidrBlock: 'string', creationTime: 'string', description: 'string', isDefault: 'boolean', resourceGroupId: 'string', status: 'string', vSwitchId: 'string', vSwitchName: 'string', vpcId: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVSwitchesResponseBodyVSwitches extends $tea.Model { vSwitch?: DescribeVSwitchesResponseBodyVSwitchesVSwitch[]; static names(): { [key: string]: string } { return { vSwitch: 'VSwitch', }; } static types(): { [key: string]: any } { return { vSwitch: { 'type': 'array', 'itemType': DescribeVSwitchesResponseBodyVSwitchesVSwitch }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSetVirtualBorderRouterType extends $tea.Model { accessPointId?: string; activationTime?: string; circuitCode?: string; creationTime?: string; description?: string; localGatewayIp?: string; name?: string; peerGatewayIp?: string; peeringSubnetMask?: string; physicalConnectionBusinessStatus?: string; physicalConnectionId?: string; physicalConnectionOwnerUid?: string; physicalConnectionStatus?: string; recoveryTime?: string; routeTableId?: string; status?: string; terminationTime?: string; vbrId?: string; vlanId?: number; vlanInterfaceId?: string; static names(): { [key: string]: string } { return { accessPointId: 'AccessPointId', activationTime: 'ActivationTime', circuitCode: 'CircuitCode', creationTime: 'CreationTime', description: 'Description', localGatewayIp: 'LocalGatewayIp', name: 'Name', peerGatewayIp: 'PeerGatewayIp', peeringSubnetMask: 'PeeringSubnetMask', physicalConnectionBusinessStatus: 'PhysicalConnectionBusinessStatus', physicalConnectionId: 'PhysicalConnectionId', physicalConnectionOwnerUid: 'PhysicalConnectionOwnerUid', physicalConnectionStatus: 'PhysicalConnectionStatus', recoveryTime: 'RecoveryTime', routeTableId: 'RouteTableId', status: 'Status', terminationTime: 'TerminationTime', vbrId: 'VbrId', vlanId: 'VlanId', vlanInterfaceId: 'VlanInterfaceId', }; } static types(): { [key: string]: any } { return { accessPointId: 'string', activationTime: 'string', circuitCode: 'string', creationTime: 'string', description: 'string', localGatewayIp: 'string', name: 'string', peerGatewayIp: 'string', peeringSubnetMask: 'string', physicalConnectionBusinessStatus: 'string', physicalConnectionId: 'string', physicalConnectionOwnerUid: 'string', physicalConnectionStatus: 'string', recoveryTime: 'string', routeTableId: 'string', status: 'string', terminationTime: 'string', vbrId: 'string', vlanId: 'number', vlanInterfaceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSet extends $tea.Model { virtualBorderRouterType?: DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSetVirtualBorderRouterType[]; static names(): { [key: string]: string } { return { virtualBorderRouterType: 'VirtualBorderRouterType', }; } static types(): { [key: string]: any } { return { virtualBorderRouterType: { 'type': 'array', 'itemType': DescribeVirtualBorderRoutersResponseBodyVirtualBorderRouterSetVirtualBorderRouterType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionRequestFilter extends $tea.Model { key?: string; value?: string[]; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSetVirtualBorderRouterForPhysicalConnectionType extends $tea.Model { activationTime?: string; circuitCode?: string; creationTime?: string; recoveryTime?: string; terminationTime?: string; vbrId?: string; vbrOwnerUid?: number; vlanId?: number; static names(): { [key: string]: string } { return { activationTime: 'ActivationTime', circuitCode: 'CircuitCode', creationTime: 'CreationTime', recoveryTime: 'RecoveryTime', terminationTime: 'TerminationTime', vbrId: 'VbrId', vbrOwnerUid: 'VbrOwnerUid', vlanId: 'VlanId', }; } static types(): { [key: string]: any } { return { activationTime: 'string', circuitCode: 'string', creationTime: 'string', recoveryTime: 'string', terminationTime: 'string', vbrId: 'string', vbrOwnerUid: 'number', vlanId: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSet extends $tea.Model { virtualBorderRouterForPhysicalConnectionType?: DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSetVirtualBorderRouterForPhysicalConnectionType[]; static names(): { [key: string]: string } { return { virtualBorderRouterForPhysicalConnectionType: 'VirtualBorderRouterForPhysicalConnectionType', }; } static types(): { [key: string]: any } { return { virtualBorderRouterForPhysicalConnectionType: { 'type': 'array', 'itemType': DescribeVirtualBorderRoutersForPhysicalConnectionResponseBodyVirtualBorderRouterForPhysicalConnectionSetVirtualBorderRouterForPhysicalConnectionType }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponseBodyVpcsVpcUserCidrs extends $tea.Model { userCidr?: string[]; static names(): { [key: string]: string } { return { userCidr: 'UserCidr', }; } static types(): { [key: string]: any } { return { userCidr: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponseBodyVpcsVpcVSwitchIds extends $tea.Model { vSwitchId?: string[]; static names(): { [key: string]: string } { return { vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { vSwitchId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponseBodyVpcsVpc extends $tea.Model { cidrBlock?: string; creationTime?: string; description?: string; isDefault?: boolean; regionId?: string; status?: string; userCidrs?: DescribeVpcsResponseBodyVpcsVpcUserCidrs; VRouterId?: string; vSwitchIds?: DescribeVpcsResponseBodyVpcsVpcVSwitchIds; vpcId?: string; vpcName?: string; static names(): { [key: string]: string } { return { cidrBlock: 'CidrBlock', creationTime: 'CreationTime', description: 'Description', isDefault: 'IsDefault', regionId: 'RegionId', status: 'Status', userCidrs: 'UserCidrs', VRouterId: 'VRouterId', vSwitchIds: 'VSwitchIds', vpcId: 'VpcId', vpcName: 'VpcName', }; } static types(): { [key: string]: any } { return { cidrBlock: 'string', creationTime: 'string', description: 'string', isDefault: 'boolean', regionId: 'string', status: 'string', userCidrs: DescribeVpcsResponseBodyVpcsVpcUserCidrs, VRouterId: 'string', vSwitchIds: DescribeVpcsResponseBodyVpcsVpcVSwitchIds, vpcId: 'string', vpcName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeVpcsResponseBodyVpcs extends $tea.Model { vpc?: DescribeVpcsResponseBodyVpcsVpc[]; static names(): { [key: string]: string } { return { vpc: 'Vpc', }; } static types(): { [key: string]: any } { return { vpc: { 'type': 'array', 'itemType': DescribeVpcsResponseBodyVpcsVpc }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableDedicatedHostTypes extends $tea.Model { dedicatedHostType?: string[]; static names(): { [key: string]: string } { return { dedicatedHostType: 'DedicatedHostType', }; } static types(): { [key: string]: any } { return { dedicatedHostType: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableDiskCategories extends $tea.Model { diskCategories?: string[]; static names(): { [key: string]: string } { return { diskCategories: 'DiskCategories', }; } static types(): { [key: string]: any } { return { diskCategories: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableInstanceTypes extends $tea.Model { instanceTypes?: string[]; static names(): { [key: string]: string } { return { instanceTypes: 'InstanceTypes', }; } static types(): { [key: string]: any } { return { instanceTypes: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourceCreation extends $tea.Model { resourceTypes?: string[]; static names(): { [key: string]: string } { return { resourceTypes: 'ResourceTypes', }; } static types(): { [key: string]: any } { return { resourceTypes: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoDataDiskCategories extends $tea.Model { supportedDataDiskCategory?: string[]; static names(): { [key: string]: string } { return { supportedDataDiskCategory: 'supportedDataDiskCategory', }; } static types(): { [key: string]: any } { return { supportedDataDiskCategory: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceGenerations extends $tea.Model { supportedInstanceGeneration?: string[]; static names(): { [key: string]: string } { return { supportedInstanceGeneration: 'supportedInstanceGeneration', }; } static types(): { [key: string]: any } { return { supportedInstanceGeneration: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypeFamilies extends $tea.Model { supportedInstanceTypeFamily?: string[]; static names(): { [key: string]: string } { return { supportedInstanceTypeFamily: 'supportedInstanceTypeFamily', }; } static types(): { [key: string]: any } { return { supportedInstanceTypeFamily: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypes extends $tea.Model { supportedInstanceType?: string[]; static names(): { [key: string]: string } { return { supportedInstanceType: 'supportedInstanceType', }; } static types(): { [key: string]: any } { return { supportedInstanceType: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoNetworkTypes extends $tea.Model { supportedNetworkCategory?: string[]; static names(): { [key: string]: string } { return { supportedNetworkCategory: 'supportedNetworkCategory', }; } static types(): { [key: string]: any } { return { supportedNetworkCategory: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoSystemDiskCategories extends $tea.Model { supportedSystemDiskCategory?: string[]; static names(): { [key: string]: string } { return { supportedSystemDiskCategory: 'supportedSystemDiskCategory', }; } static types(): { [key: string]: any } { return { supportedSystemDiskCategory: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfo extends $tea.Model { dataDiskCategories?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoDataDiskCategories; instanceGenerations?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceGenerations; instanceTypeFamilies?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypeFamilies; instanceTypes?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypes; ioOptimized?: boolean; networkTypes?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoNetworkTypes; systemDiskCategories?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoSystemDiskCategories; static names(): { [key: string]: string } { return { dataDiskCategories: 'DataDiskCategories', instanceGenerations: 'InstanceGenerations', instanceTypeFamilies: 'InstanceTypeFamilies', instanceTypes: 'InstanceTypes', ioOptimized: 'IoOptimized', networkTypes: 'NetworkTypes', systemDiskCategories: 'SystemDiskCategories', }; } static types(): { [key: string]: any } { return { dataDiskCategories: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoDataDiskCategories, instanceGenerations: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceGenerations, instanceTypeFamilies: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypeFamilies, instanceTypes: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoInstanceTypes, ioOptimized: 'boolean', networkTypes: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoNetworkTypes, systemDiskCategories: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfoSystemDiskCategories, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableResources extends $tea.Model { resourcesInfo?: DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfo[]; static names(): { [key: string]: string } { return { resourcesInfo: 'ResourcesInfo', }; } static types(): { [key: string]: any } { return { resourcesInfo: { 'type': 'array', 'itemType': DescribeZonesResponseBodyZonesZoneAvailableResourcesResourcesInfo }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneAvailableVolumeCategories extends $tea.Model { volumeCategories?: string[]; static names(): { [key: string]: string } { return { volumeCategories: 'VolumeCategories', }; } static types(): { [key: string]: any } { return { volumeCategories: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZoneDedicatedHostGenerations extends $tea.Model { dedicatedHostGeneration?: string[]; static names(): { [key: string]: string } { return { dedicatedHostGeneration: 'DedicatedHostGeneration', }; } static types(): { [key: string]: any } { return { dedicatedHostGeneration: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZonesZone extends $tea.Model { availableDedicatedHostTypes?: DescribeZonesResponseBodyZonesZoneAvailableDedicatedHostTypes; availableDiskCategories?: DescribeZonesResponseBodyZonesZoneAvailableDiskCategories; availableInstanceTypes?: DescribeZonesResponseBodyZonesZoneAvailableInstanceTypes; availableResourceCreation?: DescribeZonesResponseBodyZonesZoneAvailableResourceCreation; availableResources?: DescribeZonesResponseBodyZonesZoneAvailableResources; availableVolumeCategories?: DescribeZonesResponseBodyZonesZoneAvailableVolumeCategories; dedicatedHostGenerations?: DescribeZonesResponseBodyZonesZoneDedicatedHostGenerations; localName?: string; zoneId?: string; zoneType?: string; static names(): { [key: string]: string } { return { availableDedicatedHostTypes: 'AvailableDedicatedHostTypes', availableDiskCategories: 'AvailableDiskCategories', availableInstanceTypes: 'AvailableInstanceTypes', availableResourceCreation: 'AvailableResourceCreation', availableResources: 'AvailableResources', availableVolumeCategories: 'AvailableVolumeCategories', dedicatedHostGenerations: 'DedicatedHostGenerations', localName: 'LocalName', zoneId: 'ZoneId', zoneType: 'ZoneType', }; } static types(): { [key: string]: any } { return { availableDedicatedHostTypes: DescribeZonesResponseBodyZonesZoneAvailableDedicatedHostTypes, availableDiskCategories: DescribeZonesResponseBodyZonesZoneAvailableDiskCategories, availableInstanceTypes: DescribeZonesResponseBodyZonesZoneAvailableInstanceTypes, availableResourceCreation: DescribeZonesResponseBodyZonesZoneAvailableResourceCreation, availableResources: DescribeZonesResponseBodyZonesZoneAvailableResources, availableVolumeCategories: DescribeZonesResponseBodyZonesZoneAvailableVolumeCategories, dedicatedHostGenerations: DescribeZonesResponseBodyZonesZoneDedicatedHostGenerations, localName: 'string', zoneId: 'string', zoneType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeZonesResponseBodyZones extends $tea.Model { zone?: DescribeZonesResponseBodyZonesZone[]; static names(): { [key: string]: string } { return { zone: 'Zone', }; } static types(): { [key: string]: any } { return { zone: { 'type': 'array', 'itemType': DescribeZonesResponseBodyZonesZone }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSetsInstanceRamRoleSet extends $tea.Model { instanceId?: string; ramRoleName?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', ramRoleName: 'RamRoleName', }; } static types(): { [key: string]: any } { return { instanceId: 'string', ramRoleName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSets extends $tea.Model { instanceRamRoleSet?: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSetsInstanceRamRoleSet[]; static names(): { [key: string]: string } { return { instanceRamRoleSet: 'InstanceRamRoleSet', }; } static types(): { [key: string]: any } { return { instanceRamRoleSet: { 'type': 'array', 'itemType': DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSetsInstanceRamRoleSet }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResult extends $tea.Model { code?: string; instanceId?: string; instanceRamRoleSets?: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSets; message?: string; success?: boolean; static names(): { [key: string]: string } { return { code: 'Code', instanceId: 'InstanceId', instanceRamRoleSets: 'InstanceRamRoleSets', message: 'Message', success: 'Success', }; } static types(): { [key: string]: any } { return { code: 'string', instanceId: 'string', instanceRamRoleSets: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResultInstanceRamRoleSets, message: 'string', success: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResults extends $tea.Model { detachInstanceRamRoleResult?: DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResult[]; static names(): { [key: string]: string } { return { detachInstanceRamRoleResult: 'DetachInstanceRamRoleResult', }; } static types(): { [key: string]: any } { return { detachInstanceRamRoleResult: { 'type': 'array', 'itemType': DetachInstanceRamRoleResponseBodyDetachInstanceRamRoleResultsDetachInstanceRamRoleResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachKeyPairResponseBodyResultsResult extends $tea.Model { code?: string; instanceId?: string; message?: string; success?: string; static names(): { [key: string]: string } { return { code: 'Code', instanceId: 'InstanceId', message: 'Message', success: 'Success', }; } static types(): { [key: string]: any } { return { code: 'string', instanceId: 'string', message: 'string', success: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DetachKeyPairResponseBodyResults extends $tea.Model { result?: DetachKeyPairResponseBodyResultsResult[]; static names(): { [key: string]: string } { return { result: 'Result', }; } static types(): { [key: string]: any } { return { result: { 'type': 'array', 'itemType': DetachKeyPairResponseBodyResultsResult }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class DisableActivationResponseBodyActivation extends $tea.Model { activationId?: string; creationTime?: string; deregisteredCount?: number; description?: string; disabled?: boolean; instanceCount?: number; instanceName?: string; ipAddressRange?: string; registeredCount?: number; timeToLiveInHours?: number; static names(): { [key: string]: string } { return { activationId: 'ActivationId', creationTime: 'CreationTime', deregisteredCount: 'DeregisteredCount', description: 'Description', disabled: 'Disabled', instanceCount: 'InstanceCount', instanceName: 'InstanceName', ipAddressRange: 'IpAddressRange', registeredCount: 'RegisteredCount', timeToLiveInHours: 'TimeToLiveInHours', }; } static types(): { [key: string]: any } { return { activationId: 'string', creationTime: 'string', deregisteredCount: 'number', description: 'string', disabled: 'boolean', instanceCount: 'number', instanceName: 'string', ipAddressRange: 'string', registeredCount: 'number', timeToLiveInHours: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportImageRequestDiskDeviceMapping extends $tea.Model { device?: string; diskImSize?: number; diskImageSize?: number; format?: string; OSSBucket?: string; OSSObject?: string; static names(): { [key: string]: string } { return { device: 'Device', diskImSize: 'DiskImSize', diskImageSize: 'DiskImageSize', format: 'Format', OSSBucket: 'OSSBucket', OSSObject: 'OSSObject', }; } static types(): { [key: string]: any } { return { device: 'string', diskImSize: 'number', diskImageSize: 'number', format: 'string', OSSBucket: 'string', OSSObject: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportImageRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ImportKeyPairRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandRequestResourceTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandShrinkRequestResourceTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class InvokeCommandShrinkRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus extends $tea.Model { firstHeartbeatTime?: string; lastHeartbeatTime?: string; pluginName?: string; pluginStatus?: string; pluginVersion?: string; static names(): { [key: string]: string } { return { firstHeartbeatTime: 'FirstHeartbeatTime', lastHeartbeatTime: 'LastHeartbeatTime', pluginName: 'PluginName', pluginStatus: 'PluginStatus', pluginVersion: 'PluginVersion', }; } static types(): { [key: string]: any } { return { firstHeartbeatTime: 'string', lastHeartbeatTime: 'string', pluginName: 'string', pluginStatus: 'string', pluginVersion: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSet extends $tea.Model { pluginStatus?: ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus[]; static names(): { [key: string]: string } { return { pluginStatus: 'PluginStatus', }; } static types(): { [key: string]: any } { return { pluginStatus: { 'type': 'array', 'itemType': ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSetPluginStatus }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatus extends $tea.Model { instanceId?: string; pluginStatusSet?: ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSet; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', pluginStatusSet: 'PluginStatusSet', }; } static types(): { [key: string]: any } { return { instanceId: 'string', pluginStatusSet: ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatusPluginStatusSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListPluginStatusResponseBodyInstancePluginStatusSet extends $tea.Model { instancePluginStatus?: ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatus[]; static names(): { [key: string]: string } { return { instancePluginStatus: 'InstancePluginStatus', }; } static types(): { [key: string]: any } { return { instancePluginStatus: { 'type': 'array', 'itemType': ListPluginStatusResponseBodyInstancePluginStatusSetInstancePluginStatus }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesRequestTagFilter extends $tea.Model { tagKey?: string; tagValues?: string[]; static names(): { [key: string]: string } { return { tagKey: 'TagKey', tagValues: 'TagValues', }; } static types(): { [key: string]: any } { return { tagKey: 'string', tagValues: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesResponseBodyTagResourcesTagResource extends $tea.Model { resourceId?: string; resourceType?: string; tagKey?: string; tagValue?: string; static names(): { [key: string]: string } { return { resourceId: 'ResourceId', resourceType: 'ResourceType', tagKey: 'TagKey', tagValue: 'TagValue', }; } static types(): { [key: string]: any } { return { resourceId: 'string', resourceType: 'string', tagKey: 'string', tagValue: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ListTagResourcesResponseBodyTagResources extends $tea.Model { tagResource?: ListTagResourcesResponseBodyTagResourcesTagResource[]; static names(): { [key: string]: string } { return { tagResource: 'TagResource', }; } static types(): { [key: string]: any } { return { tagResource: { 'type': 'array', 'itemType': ListTagResourcesResponseBodyTagResourcesTagResource }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoProvisioningGroupRequestLaunchTemplateConfig extends $tea.Model { instanceType?: string; maxPrice?: number; priority?: number; vSwitchId?: string; weightedCapacity?: number; static names(): { [key: string]: string } { return { instanceType: 'InstanceType', maxPrice: 'MaxPrice', priority: 'Priority', vSwitchId: 'VSwitchId', weightedCapacity: 'WeightedCapacity', }; } static types(): { [key: string]: any } { return { instanceType: 'string', maxPrice: 'number', priority: 'number', vSwitchId: 'string', weightedCapacity: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfigurationArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfiguration extends $tea.Model { arn?: ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfigurationArn[]; encrypted?: boolean; KMSKeyId?: string; static names(): { [key: string]: string } { return { arn: 'Arn', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', }; } static types(): { [key: string]: any } { return { arn: { 'type': 'array', 'itemType': ModifyAutoSnapshotPolicyExRequestCopyEncryptionConfigurationArn }, encrypted: 'boolean', KMSKeyId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCapacityReservationRequestPrivatePoolOptions extends $tea.Model { id?: string; name?: string; static names(): { [key: string]: string } { return { id: 'Id', name: 'Name', }; } static types(): { [key: string]: any } { return { id: 'string', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsRequestAgentUpgradeConfig extends $tea.Model { allowedUpgradeWindow?: string[]; enabled?: boolean; timeZone?: string; static names(): { [key: string]: string } { return { allowedUpgradeWindow: 'AllowedUpgradeWindow', enabled: 'Enabled', timeZone: 'TimeZone', }; } static types(): { [key: string]: any } { return { allowedUpgradeWindow: { 'type': 'array', 'itemType': 'string' }, enabled: 'boolean', timeZone: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsRequestOssDeliveryConfig extends $tea.Model { bucketName?: string; enabled?: boolean; encryptionAlgorithm?: string; encryptionKeyId?: string; encryptionType?: string; prefix?: string; static names(): { [key: string]: string } { return { bucketName: 'BucketName', enabled: 'Enabled', encryptionAlgorithm: 'EncryptionAlgorithm', encryptionKeyId: 'EncryptionKeyId', encryptionType: 'EncryptionType', prefix: 'Prefix', }; } static types(): { [key: string]: any } { return { bucketName: 'string', enabled: 'boolean', encryptionAlgorithm: 'string', encryptionKeyId: 'string', encryptionType: 'string', prefix: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyCloudAssistantSettingsRequestSlsDeliveryConfig extends $tea.Model { enabled?: boolean; logstoreName?: string; projectName?: string; static names(): { [key: string]: string } { return { enabled: 'Enabled', logstoreName: 'LogstoreName', projectName: 'ProjectName', }; } static types(): { [key: string]: any } { return { enabled: 'boolean', logstoreName: 'string', projectName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostAttributeRequestNetworkAttributes extends $tea.Model { slbUdpTimeout?: number; udpTimeout?: number; static names(): { [key: string]: string } { return { slbUdpTimeout: 'SlbUdpTimeout', udpTimeout: 'UdpTimeout', }; } static types(): { [key: string]: any } { return { slbUdpTimeout: 'number', udpTimeout: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstancesFeeOfInstance extends $tea.Model { currency?: string; fee?: string; instanceId?: string; static names(): { [key: string]: string } { return { currency: 'Currency', fee: 'Fee', instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { currency: 'string', fee: 'string', instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstances extends $tea.Model { feeOfInstance?: ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstancesFeeOfInstance[]; static names(): { [key: string]: string } { return { feeOfInstance: 'FeeOfInstance', }; } static types(): { [key: string]: any } { return { feeOfInstance: { 'type': 'array', 'itemType': ModifyDedicatedHostsChargeTypeResponseBodyFeeOfInstancesFeeOfInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyDiskSpecRequestPerformanceControlOptions extends $tea.Model { IOPS?: number; recover?: string; throughput?: number; static names(): { [key: string]: string } { return { IOPS: 'IOPS', recover: 'Recover', throughput: 'Throughput', }; } static types(): { [key: string]: any } { return { IOPS: 'number', recover: 'string', throughput: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyElasticityAssuranceRequestPrivatePoolOptions extends $tea.Model { id?: string; name?: string; static names(): { [key: string]: string } { return { id: 'Id', name: 'Name', }; } static types(): { [key: string]: any } { return { id: 'string', name: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyImageAttributeRequestFeatures extends $tea.Model { nvmeSupport?: string; static names(): { [key: string]: string } { return { nvmeSupport: 'NvmeSupport', }; } static types(): { [key: string]: any } { return { nvmeSupport: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttachmentAttributesRequestPrivatePoolOptions extends $tea.Model { id?: string; matchCriteria?: string; static names(): { [key: string]: string } { return { id: 'Id', matchCriteria: 'MatchCriteria', }; } static types(): { [key: string]: any } { return { id: 'string', matchCriteria: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttributeRequestCpuOptions extends $tea.Model { topologyType?: string; static names(): { [key: string]: string } { return { topologyType: 'TopologyType', }; } static types(): { [key: string]: any } { return { topologyType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceAttributeRequestRemoteConnectionOptions extends $tea.Model { password?: string; type?: string; static names(): { [key: string]: string } { return { password: 'Password', type: 'Type', }; } static types(): { [key: string]: any } { return { password: 'string', type: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceChargeTypeResponseBodyFeeOfInstancesFeeOfInstance extends $tea.Model { currency?: string; fee?: string; instanceId?: string; static names(): { [key: string]: string } { return { currency: 'Currency', fee: 'Fee', instanceId: 'InstanceId', }; } static types(): { [key: string]: any } { return { currency: 'string', fee: 'string', instanceId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceChargeTypeResponseBodyFeeOfInstances extends $tea.Model { feeOfInstance?: ModifyInstanceChargeTypeResponseBodyFeeOfInstancesFeeOfInstance[]; static names(): { [key: string]: string } { return { feeOfInstance: 'FeeOfInstance', }; } static types(): { [key: string]: any } { return { feeOfInstance: { 'type': 'array', 'itemType': ModifyInstanceChargeTypeResponseBodyFeeOfInstancesFeeOfInstance }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceMaintenanceAttributesRequestMaintenanceWindow extends $tea.Model { endTime?: string; startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceSpecRequestSystemDisk extends $tea.Model { category?: string; static names(): { [key: string]: string } { return { category: 'Category', }; } static types(): { [key: string]: any } { return { category: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceSpecRequestTemporary extends $tea.Model { endTime?: string; internetMaxBandwidthOut?: number; startTime?: string; static names(): { [key: string]: string } { return { endTime: 'EndTime', internetMaxBandwidthOut: 'InternetMaxBandwidthOut', startTime: 'StartTime', }; } static types(): { [key: string]: any } { return { endTime: 'string', internetMaxBandwidthOut: 'number', startTime: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyInstanceSpecRequestDisk extends $tea.Model { category?: string; diskId?: string; performanceLevel?: string; static names(): { [key: string]: string } { return { category: 'Category', diskId: 'DiskId', performanceLevel: 'PerformanceLevel', }; } static types(): { [key: string]: any } { return { category: 'string', diskId: 'string', performanceLevel: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyManagedInstanceResponseBodyInstance extends $tea.Model { instanceId?: string; instanceName?: string; static names(): { [key: string]: string } { return { instanceId: 'InstanceId', instanceName: 'InstanceName', }; } static types(): { [key: string]: any } { return { instanceId: 'string', instanceName: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrefixListRequestAddEntry extends $tea.Model { cidr?: string; description?: string; static names(): { [key: string]: string } { return { cidr: 'Cidr', description: 'Description', }; } static types(): { [key: string]: any } { return { cidr: 'string', description: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrefixListRequestRemoveEntry extends $tea.Model { cidr?: string; static names(): { [key: string]: string } { return { cidr: 'Cidr', }; } static types(): { [key: string]: any } { return { cidr: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrepayInstanceSpecRequestSystemDisk extends $tea.Model { category?: string; static names(): { [key: string]: string } { return { category: 'Category', }; } static types(): { [key: string]: any } { return { category: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyPrepayInstanceSpecRequestDisk extends $tea.Model { category?: string; diskId?: string; performanceLevel?: string; static names(): { [key: string]: string } { return { category: 'Category', diskId: 'DiskId', performanceLevel: 'PerformanceLevel', }; } static types(): { [key: string]: any } { return { category: 'string', diskId: 'string', performanceLevel: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstancesRequestConfiguration extends $tea.Model { instanceAmount?: number; instanceType?: string; reservedInstanceName?: string; scope?: string; zoneId?: string; static names(): { [key: string]: string } { return { instanceAmount: 'InstanceAmount', instanceType: 'InstanceType', reservedInstanceName: 'ReservedInstanceName', scope: 'Scope', zoneId: 'ZoneId', }; } static types(): { [key: string]: any } { return { instanceAmount: 'number', instanceType: 'string', reservedInstanceName: 'string', scope: 'string', zoneId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ModifyReservedInstancesResponseBodyReservedInstanceIdSets extends $tea.Model { reservedInstanceId?: string[]; static names(): { [key: string]: string } { return { reservedInstanceId: 'ReservedInstanceId', }; } static types(): { [key: string]: any } { return { reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseReservedInstancesOfferingRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseReservedInstancesOfferingResponseBodyReservedInstanceIdSets extends $tea.Model { reservedInstanceId?: string[]; static names(): { [key: string]: string } { return { reservedInstanceId: 'ReservedInstanceId', }; } static types(): { [key: string]: any } { return { reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseStorageCapacityUnitRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class PurchaseStorageCapacityUnitResponseBodyStorageCapacityUnitIds extends $tea.Model { storageCapacityUnitId?: string[]; static names(): { [key: string]: string } { return { storageCapacityUnitId: 'StorageCapacityUnitId', }; } static types(): { [key: string]: any } { return { storageCapacityUnitId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstancesResponseBodyInstanceResponsesInstanceResponse extends $tea.Model { code?: string; currentStatus?: string; instanceId?: string; message?: string; previousStatus?: string; static names(): { [key: string]: string } { return { code: 'Code', currentStatus: 'CurrentStatus', instanceId: 'InstanceId', message: 'Message', previousStatus: 'PreviousStatus', }; } static types(): { [key: string]: any } { return { code: 'string', currentStatus: 'string', instanceId: 'string', message: 'string', previousStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RebootInstancesResponseBodyInstanceResponses extends $tea.Model { instanceResponse?: RebootInstancesResponseBodyInstanceResponsesInstanceResponse[]; static names(): { [key: string]: string } { return { instanceResponse: 'InstanceResponse', }; } static types(): { [key: string]: any } { return { instanceResponse: { 'type': 'array', 'itemType': RebootInstancesResponseBodyInstanceResponsesInstanceResponse }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReleaseCapacityReservationRequestPrivatePoolOptions extends $tea.Model { id?: string; static names(): { [key: string]: string } { return { id: 'Id', }; } static types(): { [key: string]: any } { return { id: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RemoveTagsRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RenewReservedInstancesResponseBodyReservedInstanceIdSets extends $tea.Model { reservedInstanceId?: string[]; static names(): { [key: string]: string } { return { reservedInstanceId: 'ReservedInstanceId', }; } static types(): { [key: string]: any } { return { reservedInstanceId: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReplaceSystemDiskRequestSystemDisk extends $tea.Model { size?: number; static names(): { [key: string]: string } { return { size: 'Size', }; } static types(): { [key: string]: any } { return { size: 'number', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ReplaceSystemDiskRequestArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksRequestDisk extends $tea.Model { diskId?: string; snapshotId?: string; static names(): { [key: string]: string } { return { diskId: 'DiskId', snapshotId: 'SnapshotId', }; } static types(): { [key: string]: any } { return { diskId: 'string', snapshotId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem extends $tea.Model { name?: string; value?: string; static names(): { [key: string]: string } { return { name: 'Name', value: 'Value', }; } static types(): { [key: string]: any } { return { name: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSet extends $tea.Model { relatedItem?: ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem[]; static names(): { [key: string]: string } { return { relatedItem: 'RelatedItem', }; } static types(): { [key: string]: any } { return { relatedItem: { 'type': 'array', 'itemType': ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSetRelatedItem }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponseBodyOperationProgressSetOperationProgress extends $tea.Model { errorCode?: string; errorMsg?: string; operationStatus?: string; relatedItemSet?: ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSet; static names(): { [key: string]: string } { return { errorCode: 'ErrorCode', errorMsg: 'ErrorMsg', operationStatus: 'OperationStatus', relatedItemSet: 'RelatedItemSet', }; } static types(): { [key: string]: any } { return { errorCode: 'string', errorMsg: 'string', operationStatus: 'string', relatedItemSet: ResetDisksResponseBodyOperationProgressSetOperationProgressRelatedItemSet, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class ResetDisksResponseBodyOperationProgressSet extends $tea.Model { operationProgress?: ResetDisksResponseBodyOperationProgressSetOperationProgress[]; static names(): { [key: string]: string } { return { operationProgress: 'OperationProgress', }; } static types(): { [key: string]: any } { return { operationProgress: { 'type': 'array', 'itemType': ResetDisksResponseBodyOperationProgressSetOperationProgress }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupRequestPermissions extends $tea.Model { description?: string; destCidrIp?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; policy?: string; portRange?: string; priority?: string; sourceCidrIp?: string; sourceGroupId?: string; sourceGroupOwnerAccount?: string; sourceGroupOwnerId?: number; sourcePortRange?: string; sourcePrefixListId?: string; static names(): { [key: string]: string } { return { description: 'Description', destCidrIp: 'DestCidrIp', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', sourceCidrIp: 'SourceCidrIp', sourceGroupId: 'SourceGroupId', sourceGroupOwnerAccount: 'SourceGroupOwnerAccount', sourceGroupOwnerId: 'SourceGroupOwnerId', sourcePortRange: 'SourcePortRange', sourcePrefixListId: 'SourcePrefixListId', }; } static types(): { [key: string]: any } { return { description: 'string', destCidrIp: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', policy: 'string', portRange: 'string', priority: 'string', sourceCidrIp: 'string', sourceGroupId: 'string', sourceGroupOwnerAccount: 'string', sourceGroupOwnerId: 'number', sourcePortRange: 'string', sourcePrefixListId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RevokeSecurityGroupEgressRequestPermissions extends $tea.Model { description?: string; destCidrIp?: string; destGroupId?: string; destGroupOwnerAccount?: string; destGroupOwnerId?: string; destPrefixListId?: string; ipProtocol?: string; ipv6DestCidrIp?: string; ipv6SourceCidrIp?: string; nicType?: string; policy?: string; portRange?: string; priority?: string; sourceCidrIp?: string; sourcePortRange?: string; static names(): { [key: string]: string } { return { description: 'Description', destCidrIp: 'DestCidrIp', destGroupId: 'DestGroupId', destGroupOwnerAccount: 'DestGroupOwnerAccount', destGroupOwnerId: 'DestGroupOwnerId', destPrefixListId: 'DestPrefixListId', ipProtocol: 'IpProtocol', ipv6DestCidrIp: 'Ipv6DestCidrIp', ipv6SourceCidrIp: 'Ipv6SourceCidrIp', nicType: 'NicType', policy: 'Policy', portRange: 'PortRange', priority: 'Priority', sourceCidrIp: 'SourceCidrIp', sourcePortRange: 'SourcePortRange', }; } static types(): { [key: string]: any } { return { description: 'string', destCidrIp: 'string', destGroupId: 'string', destGroupOwnerAccount: 'string', destGroupOwnerId: 'string', destPrefixListId: 'string', ipProtocol: 'string', ipv6DestCidrIp: 'string', ipv6SourceCidrIp: 'string', nicType: 'string', policy: 'string', portRange: 'string', priority: 'string', sourceCidrIp: 'string', sourcePortRange: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandRequestResourceTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandShrinkRequestResourceTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunCommandShrinkRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestCpuOptions extends $tea.Model { core?: number; numa?: string; threadsPerCore?: number; topologyType?: string; static names(): { [key: string]: string } { return { core: 'Core', numa: 'Numa', threadsPerCore: 'ThreadsPerCore', topologyType: 'TopologyType', }; } static types(): { [key: string]: any } { return { core: 'number', numa: 'string', threadsPerCore: 'number', topologyType: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestHibernationOptions extends $tea.Model { configured?: boolean; static names(): { [key: string]: string } { return { configured: 'Configured', }; } static types(): { [key: string]: any } { return { configured: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestPrivatePoolOptions extends $tea.Model { id?: string; matchCriteria?: string; static names(): { [key: string]: string } { return { id: 'Id', matchCriteria: 'MatchCriteria', }; } static types(): { [key: string]: any } { return { id: 'string', matchCriteria: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestSchedulerOptions extends $tea.Model { dedicatedHostClusterId?: string; static names(): { [key: string]: string } { return { dedicatedHostClusterId: 'DedicatedHostClusterId', }; } static types(): { [key: string]: any } { return { dedicatedHostClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestSecurityOptions extends $tea.Model { confidentialComputingMode?: string; trustedSystemMode?: string; static names(): { [key: string]: string } { return { confidentialComputingMode: 'ConfidentialComputingMode', trustedSystemMode: 'TrustedSystemMode', }; } static types(): { [key: string]: any } { return { confidentialComputingMode: 'string', trustedSystemMode: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestSystemDisk extends $tea.Model { autoSnapshotPolicyId?: string; category?: string; description?: string; diskName?: string; performanceLevel?: string; size?: string; burstingEnabled?: boolean; encryptAlgorithm?: string; encrypted?: string; KMSKeyId?: string; provisionedIops?: number; storageClusterId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', category: 'Category', description: 'Description', diskName: 'DiskName', performanceLevel: 'PerformanceLevel', size: 'Size', burstingEnabled: 'BurstingEnabled', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', provisionedIops: 'ProvisionedIops', storageClusterId: 'StorageClusterId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', category: 'string', description: 'string', diskName: 'string', performanceLevel: 'string', size: 'string', burstingEnabled: 'boolean', encryptAlgorithm: 'string', encrypted: 'string', KMSKeyId: 'string', provisionedIops: 'number', storageClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestArn extends $tea.Model { assumeRoleFor?: number; roleType?: string; rolearn?: string; static names(): { [key: string]: string } { return { assumeRoleFor: 'AssumeRoleFor', roleType: 'RoleType', rolearn: 'Rolearn', }; } static types(): { [key: string]: any } { return { assumeRoleFor: 'number', roleType: 'string', rolearn: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestDataDisk extends $tea.Model { autoSnapshotPolicyId?: string; burstingEnabled?: boolean; category?: string; deleteWithInstance?: boolean; description?: string; device?: string; diskName?: string; encryptAlgorithm?: string; encrypted?: string; KMSKeyId?: string; performanceLevel?: string; provisionedIops?: number; size?: number; snapshotId?: string; storageClusterId?: string; static names(): { [key: string]: string } { return { autoSnapshotPolicyId: 'AutoSnapshotPolicyId', burstingEnabled: 'BurstingEnabled', category: 'Category', deleteWithInstance: 'DeleteWithInstance', description: 'Description', device: 'Device', diskName: 'DiskName', encryptAlgorithm: 'EncryptAlgorithm', encrypted: 'Encrypted', KMSKeyId: 'KMSKeyId', performanceLevel: 'PerformanceLevel', provisionedIops: 'ProvisionedIops', size: 'Size', snapshotId: 'SnapshotId', storageClusterId: 'StorageClusterId', }; } static types(): { [key: string]: any } { return { autoSnapshotPolicyId: 'string', burstingEnabled: 'boolean', category: 'string', deleteWithInstance: 'boolean', description: 'string', device: 'string', diskName: 'string', encryptAlgorithm: 'string', encrypted: 'string', KMSKeyId: 'string', performanceLevel: 'string', provisionedIops: 'number', size: 'number', snapshotId: 'string', storageClusterId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestImageOptions extends $tea.Model { loginAsNonRoot?: boolean; static names(): { [key: string]: string } { return { loginAsNonRoot: 'LoginAsNonRoot', }; } static types(): { [key: string]: any } { return { loginAsNonRoot: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestNetworkInterface extends $tea.Model { deleteOnRelease?: boolean; description?: string; instanceType?: string; ipv6Address?: string[]; ipv6AddressCount?: number; networkCardIndex?: number; networkInterfaceId?: string; networkInterfaceName?: string; networkInterfaceTrafficMode?: string; primaryIpAddress?: string; queueNumber?: number; queuePairNumber?: number; rxQueueSize?: number; securityGroupId?: string; securityGroupIds?: string[]; txQueueSize?: number; vSwitchId?: string; static names(): { [key: string]: string } { return { deleteOnRelease: 'DeleteOnRelease', description: 'Description', instanceType: 'InstanceType', ipv6Address: 'Ipv6Address', ipv6AddressCount: 'Ipv6AddressCount', networkCardIndex: 'NetworkCardIndex', networkInterfaceId: 'NetworkInterfaceId', networkInterfaceName: 'NetworkInterfaceName', networkInterfaceTrafficMode: 'NetworkInterfaceTrafficMode', primaryIpAddress: 'PrimaryIpAddress', queueNumber: 'QueueNumber', queuePairNumber: 'QueuePairNumber', rxQueueSize: 'RxQueueSize', securityGroupId: 'SecurityGroupId', securityGroupIds: 'SecurityGroupIds', txQueueSize: 'TxQueueSize', vSwitchId: 'VSwitchId', }; } static types(): { [key: string]: any } { return { deleteOnRelease: 'boolean', description: 'string', instanceType: 'string', ipv6Address: { 'type': 'array', 'itemType': 'string' }, ipv6AddressCount: 'number', networkCardIndex: 'number', networkInterfaceId: 'string', networkInterfaceName: 'string', networkInterfaceTrafficMode: 'string', primaryIpAddress: 'string', queueNumber: 'number', queuePairNumber: 'number', rxQueueSize: 'number', securityGroupId: 'string', securityGroupIds: { 'type': 'array', 'itemType': 'string' }, txQueueSize: 'number', vSwitchId: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestNetworkOptions extends $tea.Model { enableJumboFrame?: boolean; static names(): { [key: string]: string } { return { enableJumboFrame: 'EnableJumboFrame', }; } static types(): { [key: string]: any } { return { enableJumboFrame: 'boolean', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class RunInstancesResponseBodyInstanceIdSets extends $tea.Model { instanceIdSet?: string[]; static names(): { [key: string]: string } { return { instanceIdSet: 'InstanceIdSet', }; } static types(): { [key: string]: any } { return { instanceIdSet: { 'type': 'array', 'itemType': 'string' }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class SendFileRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartElasticityAssuranceRequestPrivatePoolOptions extends $tea.Model { id?: string; static names(): { [key: string]: string } { return { id: 'Id', }; } static types(): { [key: string]: any } { return { id: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartImagePipelineExecutionRequestTemplateTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstancesResponseBodyInstanceResponsesInstanceResponse extends $tea.Model { code?: string; currentStatus?: string; instanceId?: string; message?: string; previousStatus?: string; static names(): { [key: string]: string } { return { code: 'Code', currentStatus: 'CurrentStatus', instanceId: 'InstanceId', message: 'Message', previousStatus: 'PreviousStatus', }; } static types(): { [key: string]: any } { return { code: 'string', currentStatus: 'string', instanceId: 'string', message: 'string', previousStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StartInstancesResponseBodyInstanceResponses extends $tea.Model { instanceResponse?: StartInstancesResponseBodyInstanceResponsesInstanceResponse[]; static names(): { [key: string]: string } { return { instanceResponse: 'InstanceResponse', }; } static types(): { [key: string]: any } { return { instanceResponse: { 'type': 'array', 'itemType': StartInstancesResponseBodyInstanceResponsesInstanceResponse }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstancesResponseBodyInstanceResponsesInstanceResponse extends $tea.Model { code?: string; currentStatus?: string; instanceId?: string; message?: string; previousStatus?: string; static names(): { [key: string]: string } { return { code: 'Code', currentStatus: 'CurrentStatus', instanceId: 'InstanceId', message: 'Message', previousStatus: 'PreviousStatus', }; } static types(): { [key: string]: any } { return { code: 'string', currentStatus: 'string', instanceId: 'string', message: 'string', previousStatus: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export class StopInstancesResponseBodyInstanceResponses extends $tea.Model { instanceResponse?: StopInstancesResponseBodyInstanceResponsesInstanceResponse[]; static names(): { [key: string]: string } { return { instanceResponse: 'InstanceResponse', }; } static types(): { [key: string]: any } { return { instanceResponse: { 'type': 'array', 'itemType': StopInstancesResponseBodyInstanceResponsesInstanceResponse }, }; } constructor(map?: { [key: string]: any }) { super(map); } } export class TagResourcesRequestTag extends $tea.Model { key?: string; value?: string; static names(): { [key: string]: string } { return { key: 'Key', value: 'Value', }; } static types(): { [key: string]: any } { return { key: 'string', value: 'string', }; } constructor(map?: { [key: string]: any }) { super(map); } } export default class Client extends OpenApi { constructor(config: $OpenApi.Config) { super(config); this._endpointRule = "regional"; this._endpointMap = { 'cn-hangzhou': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shanghai-finance-1': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shenzhen-finance-1': "ecs-cn-hangzhou.aliyuncs.com", 'cn-north-2-gov-1': "ecs.aliyuncs.com", 'ap-northeast-2-pop': "ecs.aliyuncs.com", 'cn-beijing-finance-pop': "ecs.aliyuncs.com", 'cn-beijing-gov-1': "ecs.aliyuncs.com", 'cn-beijing-nu16-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-edge-1': "ecs.cn-qingdao-nebula.aliyuncs.com", 'cn-fujian': "ecs-cn-hangzhou.aliyuncs.com", 'cn-haidian-cm12-c01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-bj-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-finance': "ecs.aliyuncs.com", 'cn-hangzhou-internal-prod-1': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-internal-test-1': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-internal-test-2': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-internal-test-3': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hangzhou-test-306': "ecs-cn-hangzhou.aliyuncs.com", 'cn-hongkong-finance-pop': "ecs.aliyuncs.com", 'cn-huhehaote-nebula-1': "ecs.cn-qingdao-nebula.aliyuncs.com", 'cn-shanghai-et15-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shanghai-et2-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shanghai-inner': "ecs.aliyuncs.com", 'cn-shanghai-internal-test-1': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shenzhen-inner': "ecs.aliyuncs.com", 'cn-shenzhen-st4-d01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-shenzhen-su18-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-wuhan': "ecs.aliyuncs.com", 'cn-yushanfang': "ecs.aliyuncs.com", 'cn-zhangbei': "ecs.aliyuncs.com", 'cn-zhangbei-na61-b01': "ecs-cn-hangzhou.aliyuncs.com", 'cn-zhangjiakou-na62-a01': "ecs.cn-zhangjiakou.aliyuncs.com", 'cn-zhengzhou-nebula-1': "ecs.cn-qingdao-nebula.aliyuncs.com", 'eu-west-1-oxs': "ecs.cn-shenzhen-cloudstone.aliyuncs.com", 'rus-west-1-pop': "ecs.aliyuncs.com", }; this.checkConfig(config); this._endpoint = this.getEndpoint("ecs", this._regionId, this._endpointRule, this._network, this._suffix, this._endpointMap, this._endpoint); } getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: {[key: string ]: string}, endpoint: string): string { if (!Util.empty(endpoint)) { return endpoint; } if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) { return endpointMap[regionId]; } return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix); } async acceptInquiredSystemEventWithOptions(request: AcceptInquiredSystemEventRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.choice)) { query["Choice"] = request.choice; } if (!Util.isUnset(request.eventId)) { query["EventId"] = request.eventId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AcceptInquiredSystemEvent", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AcceptInquiredSystemEventResponse({})); } async acceptInquiredSystemEvent(request: AcceptInquiredSystemEventRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.acceptInquiredSystemEventWithOptions(request, runtime); } /** * @deprecated * * @param request ActivateRouterInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return ActivateRouterInterfaceResponse */ // Deprecated async activateRouterInterfaceWithOptions(request: ActivateRouterInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ActivateRouterInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ActivateRouterInterfaceResponse({})); } /** * @deprecated * * @param request ActivateRouterInterfaceRequest * @return ActivateRouterInterfaceResponse */ // Deprecated async activateRouterInterface(request: ActivateRouterInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.activateRouterInterfaceWithOptions(request, runtime); } /** * @deprecated * * @param request AddBandwidthPackageIpsRequest * @param runtime runtime options for this request RuntimeOptions * @return AddBandwidthPackageIpsResponse */ // Deprecated async addBandwidthPackageIpsWithOptions(request: AddBandwidthPackageIpsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidthPackageId)) { query["BandwidthPackageId"] = request.bandwidthPackageId; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ipCount)) { query["IpCount"] = request.ipCount; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AddBandwidthPackageIps", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AddBandwidthPackageIpsResponse({})); } /** * @deprecated * * @param request AddBandwidthPackageIpsRequest * @return AddBandwidthPackageIpsResponse */ // Deprecated async addBandwidthPackageIps(request: AddBandwidthPackageIpsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.addBandwidthPackageIpsWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * Up to 20 tags can be added to each ECS resource. * * `Tag.N.Key` must match `Tag.N.Value` based on the value of N. * * If you add a tag that has the same key (`Tag.N.Key`) as an existing tag on the specified resource, the new tag value (`Tag.N.Value`) overwrites the original tag value. * * @param request AddTagsRequest * @param runtime runtime options for this request RuntimeOptions * @return AddTagsResponse */ async addTagsWithOptions(request: AddTagsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AddTags", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AddTagsResponse({})); } /** * When you call this operation, take note of the following items: * * Up to 20 tags can be added to each ECS resource. * * `Tag.N.Key` must match `Tag.N.Value` based on the value of N. * * If you add a tag that has the same key (`Tag.N.Key`) as an existing tag on the specified resource, the new tag value (`Tag.N.Value`) overwrites the original tag value. * * @param request AddTagsRequest * @return AddTagsResponse */ async addTags(request: AddTagsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.addTagsWithOptions(request, runtime); } /** * Before you create a dedicated host, you can call the [DescribeAvailableResource](~~66186~~) operation to query the resources available in a specific region or zone. * We recommend that you understand the billing methods of resources before you create a dedicated host. You are charged for resources used by the created dedicated host. For more information, see [Billing overview](~~68978~~). * * You can create up to 100 pay-as-you-go or subscription dedicated hosts at a time. * * After a dedicated host is created, you can use the returned dedicated host ID as the value of a request parameter to call the [DescribeDedicatedHosts](~~134242~~) operation to query the state of the dedicated host. * * After you submit a request to create a dedicated host, an error is returned if a specific parameter is invalid or if the requested resources are insufficient. For more information about error causes, see the "Error codes" section of this topic. * * After a dedicated host is created, you can call the [ModifyInstanceDeployment](~~134248~~) operation to migrate ECS instances from a shared host to the dedicated host. You can also migrate ECS instances from another dedicated host to the created dedicated host. * * @param request AllocateDedicatedHostsRequest * @param runtime runtime options for this request RuntimeOptions * @return AllocateDedicatedHostsResponse */ async allocateDedicatedHostsWithOptions(request: AllocateDedicatedHostsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.actionOnMaintenance)) { query["ActionOnMaintenance"] = request.actionOnMaintenance; } if (!Util.isUnset(request.autoPlacement)) { query["AutoPlacement"] = request.autoPlacement; } if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewPeriod)) { query["AutoRenewPeriod"] = request.autoRenewPeriod; } if (!Util.isUnset(request.chargeType)) { query["ChargeType"] = request.chargeType; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.cpuOverCommitRatio)) { query["CpuOverCommitRatio"] = request.cpuOverCommitRatio; } if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.dedicatedHostName)) { query["DedicatedHostName"] = request.dedicatedHostName; } if (!Util.isUnset(request.dedicatedHostType)) { query["DedicatedHostType"] = request.dedicatedHostType; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.minQuantity)) { query["MinQuantity"] = request.minQuantity; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.quantity)) { query["Quantity"] = request.quantity; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.networkAttributes)) { query["NetworkAttributes"] = request.networkAttributes; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AllocateDedicatedHosts", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AllocateDedicatedHostsResponse({})); } /** * Before you create a dedicated host, you can call the [DescribeAvailableResource](~~66186~~) operation to query the resources available in a specific region or zone. * We recommend that you understand the billing methods of resources before you create a dedicated host. You are charged for resources used by the created dedicated host. For more information, see [Billing overview](~~68978~~). * * You can create up to 100 pay-as-you-go or subscription dedicated hosts at a time. * * After a dedicated host is created, you can use the returned dedicated host ID as the value of a request parameter to call the [DescribeDedicatedHosts](~~134242~~) operation to query the state of the dedicated host. * * After you submit a request to create a dedicated host, an error is returned if a specific parameter is invalid or if the requested resources are insufficient. For more information about error causes, see the "Error codes" section of this topic. * * After a dedicated host is created, you can call the [ModifyInstanceDeployment](~~134248~~) operation to migrate ECS instances from a shared host to the dedicated host. You can also migrate ECS instances from another dedicated host to the created dedicated host. * * @param request AllocateDedicatedHostsRequest * @return AllocateDedicatedHostsResponse */ async allocateDedicatedHosts(request: AllocateDedicatedHostsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.allocateDedicatedHostsWithOptions(request, runtime); } /** * @deprecated * > This operation has been upgraded. We recommend that you do not use it. For information about the new version of this operation, see [AllocateEipAddress](~~120192~~). * * @param request AllocateEipAddressRequest * @param runtime runtime options for this request RuntimeOptions * @return AllocateEipAddressResponse */ // Deprecated async allocateEipAddressWithOptions(request: AllocateEipAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.activityId)) { query["ActivityId"] = request.activityId; } if (!Util.isUnset(request.bandwidth)) { query["Bandwidth"] = request.bandwidth; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ISP)) { query["ISP"] = request.ISP; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AllocateEipAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AllocateEipAddressResponse({})); } /** * @deprecated * > This operation has been upgraded. We recommend that you do not use it. For information about the new version of this operation, see [AllocateEipAddress](~~120192~~). * * @param request AllocateEipAddressRequest * @return AllocateEipAddressResponse */ // Deprecated async allocateEipAddress(request: AllocateEipAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.allocateEipAddressWithOptions(request, runtime); } /** * Take note of the following items: * * The instance to which you want to assign a public IP address must be in the **Running** or **Stopped** state.```` * * If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is [locked for security reasons](~~25695~~) and cannot be assigned a public IP address. * * You can assign only one public IP address to an instance. If the instance already has a public IP address, the `AllocatedAlready` error is returned. * * After you assign a public IP address to an instance, you must restart the instance ([RebootInstance](~~25502~~)) or start the instance ([StartInstance](~~25500~~)) to make the public IP address take effect. * If an instance resides in a virtual private cloud (VPC), you can assign a public IP address to the instance or associate an elastic IP address (EIP) with the instance. For more information, see [AssociateEipAddress](~~36017~~). * > After you associate an EIP with an instance that resides in a VPC, you cannot assign a public IP address to the instance. * * @param request AllocatePublicIpAddressRequest * @param runtime runtime options for this request RuntimeOptions * @return AllocatePublicIpAddressResponse */ async allocatePublicIpAddressWithOptions(request: AllocatePublicIpAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ipAddress)) { query["IpAddress"] = request.ipAddress; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vlanId)) { query["VlanId"] = request.vlanId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AllocatePublicIpAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AllocatePublicIpAddressResponse({})); } /** * Take note of the following items: * * The instance to which you want to assign a public IP address must be in the **Running** or **Stopped** state.```` * * If `OperationLocks` in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is [locked for security reasons](~~25695~~) and cannot be assigned a public IP address. * * You can assign only one public IP address to an instance. If the instance already has a public IP address, the `AllocatedAlready` error is returned. * * After you assign a public IP address to an instance, you must restart the instance ([RebootInstance](~~25502~~)) or start the instance ([StartInstance](~~25500~~)) to make the public IP address take effect. * If an instance resides in a virtual private cloud (VPC), you can assign a public IP address to the instance or associate an elastic IP address (EIP) with the instance. For more information, see [AssociateEipAddress](~~36017~~). * > After you associate an EIP with an instance that resides in a VPC, you cannot assign a public IP address to the instance. * * @param request AllocatePublicIpAddressRequest * @return AllocatePublicIpAddressResponse */ async allocatePublicIpAddress(request: AllocatePublicIpAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.allocatePublicIpAddressWithOptions(request, runtime); } /** * * Each disk can have only one automatic snapshot policy. * * Each automatic snapshot policy can be applied to multiple disks. * * @param request ApplyAutoSnapshotPolicyRequest * @param runtime runtime options for this request RuntimeOptions * @return ApplyAutoSnapshotPolicyResponse */ async applyAutoSnapshotPolicyWithOptions(request: ApplyAutoSnapshotPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.autoSnapshotPolicyId)) { query["autoSnapshotPolicyId"] = request.autoSnapshotPolicyId; } if (!Util.isUnset(request.diskIds)) { query["diskIds"] = request.diskIds; } if (!Util.isUnset(request.regionId)) { query["regionId"] = request.regionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ApplyAutoSnapshotPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ApplyAutoSnapshotPolicyResponse({})); } /** * * Each disk can have only one automatic snapshot policy. * * Each automatic snapshot policy can be applied to multiple disks. * * @param request ApplyAutoSnapshotPolicyRequest * @return ApplyAutoSnapshotPolicyResponse */ async applyAutoSnapshotPolicy(request: ApplyAutoSnapshotPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.applyAutoSnapshotPolicyWithOptions(request, runtime); } /** * You can specify IPv6 addresses within the CIDR block of the vSwitch that is connected to the ENI, or specify the number of IPv6 addresses that are automatically generated for the ENI. When you call this operation, take note of the following items: * * IPv6 must be enabled for the vSwitch with which the ENI is associated. For more information, see [Enable IPv6 for a vSwitch](~~98923~~). * * The ENI must be in the Available (Available) or InUse (InUse) state. * * If you want to assign IPv6 addresses to a primary ENI, make sure that the instance to which the ENI is attached is in the Running (Running) or Stopped (Stopped) state. * * The maximum number of IPv6 addresses that can be assigned to an ENI varies based on the instance type. * * If the ENI is in the Available (Available) state, it can be assigned a maximum of 10 IPv6 addresses. * * If the ENI is already attached to an Elastic Compute Service (ECS) instance, the maximum number of IPv6 addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](~~25378~~). * * After the operation is called, the IPv6 addresses that are assigned to the ENI can be obtained from the response. * * @param request AssignIpv6AddressesRequest * @param runtime runtime options for this request RuntimeOptions * @return AssignIpv6AddressesResponse */ async assignIpv6AddressesWithOptions(request: AssignIpv6AddressesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.ipv6AddressCount)) { query["Ipv6AddressCount"] = request.ipv6AddressCount; } if (!Util.isUnset(request.ipv6Prefix)) { query["Ipv6Prefix"] = request.ipv6Prefix; } if (!Util.isUnset(request.ipv6PrefixCount)) { query["Ipv6PrefixCount"] = request.ipv6PrefixCount; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AssignIpv6Addresses", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AssignIpv6AddressesResponse({})); } /** * You can specify IPv6 addresses within the CIDR block of the vSwitch that is connected to the ENI, or specify the number of IPv6 addresses that are automatically generated for the ENI. When you call this operation, take note of the following items: * * IPv6 must be enabled for the vSwitch with which the ENI is associated. For more information, see [Enable IPv6 for a vSwitch](~~98923~~). * * The ENI must be in the Available (Available) or InUse (InUse) state. * * If you want to assign IPv6 addresses to a primary ENI, make sure that the instance to which the ENI is attached is in the Running (Running) or Stopped (Stopped) state. * * The maximum number of IPv6 addresses that can be assigned to an ENI varies based on the instance type. * * If the ENI is in the Available (Available) state, it can be assigned a maximum of 10 IPv6 addresses. * * If the ENI is already attached to an Elastic Compute Service (ECS) instance, the maximum number of IPv6 addresses that can be assigned to the ENI varies based on the instance type. For more information, see [Overview of instance families](~~25378~~). * * After the operation is called, the IPv6 addresses that are assigned to the ENI can be obtained from the response. * * @param request AssignIpv6AddressesRequest * @return AssignIpv6AddressesResponse */ async assignIpv6Addresses(request: AssignIpv6AddressesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.assignIpv6AddressesWithOptions(request, runtime); } /** * ## Usage notes * * The ENI to which you want to assign secondary private IP addresses must be in the Available (Available) or InUse (InUse) state. * * When you assign secondary private IP addresses to a primary ENI, the instance to which the ENI is attached must be in the Running (Running) or Stopped (Stopped) state. * * When an ENI is in the Available state, you can assign up to 50 secondary private IP addresses to it. When an ENI is attached to an instance, the number of secondary private IP addresses that can be assigned to the ENI is subject to the instance type. For more information, see [Overview of instance families](~~25378~~). * * After you call this operation for an ENI, you can obtain the secondary private IP addresses that are assigned to the ENI from the response. * * @param request AssignPrivateIpAddressesRequest * @param runtime runtime options for this request RuntimeOptions * @return AssignPrivateIpAddressesResponse */ async assignPrivateIpAddressesWithOptions(request: AssignPrivateIpAddressesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ipv4Prefix)) { query["Ipv4Prefix"] = request.ipv4Prefix; } if (!Util.isUnset(request.ipv4PrefixCount)) { query["Ipv4PrefixCount"] = request.ipv4PrefixCount; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.secondaryPrivateIpAddressCount)) { query["SecondaryPrivateIpAddressCount"] = request.secondaryPrivateIpAddressCount; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AssignPrivateIpAddresses", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AssignPrivateIpAddressesResponse({})); } /** * ## Usage notes * * The ENI to which you want to assign secondary private IP addresses must be in the Available (Available) or InUse (InUse) state. * * When you assign secondary private IP addresses to a primary ENI, the instance to which the ENI is attached must be in the Running (Running) or Stopped (Stopped) state. * * When an ENI is in the Available state, you can assign up to 50 secondary private IP addresses to it. When an ENI is attached to an instance, the number of secondary private IP addresses that can be assigned to the ENI is subject to the instance type. For more information, see [Overview of instance families](~~25378~~). * * After you call this operation for an ENI, you can obtain the secondary private IP addresses that are assigned to the ENI from the response. * * @param request AssignPrivateIpAddressesRequest * @return AssignPrivateIpAddressesResponse */ async assignPrivateIpAddresses(request: AssignPrivateIpAddressesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.assignPrivateIpAddressesWithOptions(request, runtime); } /** * @deprecated : AssociateEipAddress is deprecated, please use Vpc::2016-04-28::AssociateEipAddress instead. * * @param request AssociateEipAddressRequest * @param runtime runtime options for this request RuntimeOptions * @return AssociateEipAddressResponse */ // Deprecated async associateEipAddressWithOptions(request: AssociateEipAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AssociateEipAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AssociateEipAddressResponse({})); } /** * @deprecated : AssociateEipAddress is deprecated, please use Vpc::2016-04-28::AssociateEipAddress instead. * * @param request AssociateEipAddressRequest * @return AssociateEipAddressResponse */ // Deprecated async associateEipAddress(request: AssociateEipAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.associateEipAddressWithOptions(request, runtime); } /** * @deprecated * * @param request AssociateHaVipRequest * @param runtime runtime options for this request RuntimeOptions * @return AssociateHaVipResponse */ // Deprecated async associateHaVipWithOptions(request: AssociateHaVipRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.haVipId)) { query["HaVipId"] = request.haVipId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AssociateHaVip", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AssociateHaVipResponse({})); } /** * @deprecated * * @param request AssociateHaVipRequest * @return AssociateHaVipResponse */ // Deprecated async associateHaVip(request: AssociateHaVipRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.associateHaVipWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The instance that you want to connect to a VPC must be in the **Running** or **Stopped** state. * * The ClassicLink feature must be enabled for the destination VPC. For more information, see [Create a ClassicLink connection](~~65413~~). * * The instance and the VPC must reside in the same region. * * @param request AttachClassicLinkVpcRequest * @param runtime runtime options for this request RuntimeOptions * @return AttachClassicLinkVpcResponse */ async attachClassicLinkVpcWithOptions(request: AttachClassicLinkVpcRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AttachClassicLinkVpc", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AttachClassicLinkVpcResponse({})); } /** * When you call this operation, take note of the following items: * * The instance that you want to connect to a VPC must be in the **Running** or **Stopped** state. * * The ClassicLink feature must be enabled for the destination VPC. For more information, see [Create a ClassicLink connection](~~65413~~). * * The instance and the VPC must reside in the same region. * * @param request AttachClassicLinkVpcRequest * @return AttachClassicLinkVpcResponse */ async attachClassicLinkVpc(request: AttachClassicLinkVpcRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.attachClassicLinkVpcWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The disk that you want to attach must be in the **Available** state.`` * * When the disk is attached as a data disk, take note of the following items: * * The instance must be in the **Running** or **Stopped** state.```` * * If the disk was separately purchased, the billing method of the disk must be pay-as-you-go. * * If the disk is a system disk detached from an instance, no limits apply to the billing method of the disk. * * When the disk is attached as a system disk, take note of the following items: * * The instance must be the original instance from which the system disk was detached. * * The instance must be in the **Stopped** state.`` * * The logon credentials must be configured. * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of the instance, the instance is locked for security reasons and all operations are prohibited on the instance. * * @param request AttachDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return AttachDiskResponse */ async attachDiskWithOptions(request: AttachDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bootable)) { query["Bootable"] = request.bootable; } if (!Util.isUnset(request.deleteWithInstance)) { query["DeleteWithInstance"] = request.deleteWithInstance; } if (!Util.isUnset(request.device)) { query["Device"] = request.device; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AttachDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AttachDiskResponse({})); } /** * When you call this operation, take note of the following items: * * The disk that you want to attach must be in the **Available** state.`` * * When the disk is attached as a data disk, take note of the following items: * * The instance must be in the **Running** or **Stopped** state.```` * * If the disk was separately purchased, the billing method of the disk must be pay-as-you-go. * * If the disk is a system disk detached from an instance, no limits apply to the billing method of the disk. * * When the disk is attached as a system disk, take note of the following items: * * The instance must be the original instance from which the system disk was detached. * * The instance must be in the **Stopped** state.`` * * The logon credentials must be configured. * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of the instance, the instance is locked for security reasons and all operations are prohibited on the instance. * * @param request AttachDiskRequest * @return AttachDiskResponse */ async attachDisk(request: AttachDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.attachDiskWithOptions(request, runtime); } async attachInstanceRamRoleWithOptions(request: AttachInstanceRamRoleRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AttachInstanceRamRole", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AttachInstanceRamRoleResponse({})); } async attachInstanceRamRole(request: AttachInstanceRamRoleRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.attachInstanceRamRoleWithOptions(request, runtime); } /** * Take note of the following items: * * SSH key pairs are not supported on Windows instances. * * If an SSH key pair is bound to an instance, authentication by using the username and password is disabled for the instance. * * If you bind an SSH key pair to an instance in the **running** state, you must call the [RebootInstance](~~25502~~) operation to restart the instance for the key pair to take effect. * * If you bind an SSH key pair to an instance in the **stopped** state, you must call the [StartInstance](~~25500~~) operation to start the instance for the key pair to take effect. * * If an instance is already bound to an SSH key pair, the new SSH key pair will replace the original one. * * @param request AttachKeyPairRequest * @param runtime runtime options for this request RuntimeOptions * @return AttachKeyPairResponse */ async attachKeyPairWithOptions(request: AttachKeyPairRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AttachKeyPair", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AttachKeyPairResponse({})); } /** * Take note of the following items: * * SSH key pairs are not supported on Windows instances. * * If an SSH key pair is bound to an instance, authentication by using the username and password is disabled for the instance. * * If you bind an SSH key pair to an instance in the **running** state, you must call the [RebootInstance](~~25502~~) operation to restart the instance for the key pair to take effect. * * If you bind an SSH key pair to an instance in the **stopped** state, you must call the [StartInstance](~~25500~~) operation to start the instance for the key pair to take effect. * * If an instance is already bound to an SSH key pair, the new SSH key pair will replace the original one. * * @param request AttachKeyPairRequest * @return AttachKeyPairResponse */ async attachKeyPair(request: AttachKeyPairRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.attachKeyPairWithOptions(request, runtime); } /** * Take note of the following items: * * The ENI must be in the **Available** state. You can attach an ENI to only one instance that resides in the same zone and VPC as the ENI.`` * * The instance must be in the Running or Stopped state. When you attach ENIs to instances of specific instance types, make sure that the instances are in the Stopped state. For more information, see the "Instance types of the ECS instances that must be in the Stopped (Stopped) state" section in the [Bind an ENI](~~58503~~) topic. * ** * **Note**If the last start time of the instance (including the start time of the instance if it is a new instance, the last restart time of the instance, and the last reactivation time of the instance) is before April 1st, 2018 and the instance is in the Running state, you must call the RebootInstance operation to restart the instance. If you do not call the RebootInstance operation to restart the instance, you cannot attach the ENI to the instance. * * You can attach multiple ENIs to one instance. For more information, see [ENI overview](~~58496~~). * * The vSwitch to which the ENI is connected must be in the same zone and VPC as the vSwitch to which the instance is connected. * * This operation is an asynchronous operation. After you call this operation to attach an ENI, you can view the status or events of the ENI to check whether the ENI is attached. The following figure shows the transitions between the statuses of the ENI. * ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221124/esgu/AttachNetworkInterface.jpg) If the ENI is in the Attaching state, the ENI attachment request is sent and the ENI is being attached to the specified instance. If the ENI is in the InUse state, the ENI is attached to the specified instance. If the ENI is in the Available state, the ENI failed to be attached. * **For examples on how to call this operation, see **[Attach an ENI](~~471550~~). * * @param request AttachNetworkInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return AttachNetworkInterfaceResponse */ async attachNetworkInterfaceWithOptions(request: AttachNetworkInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.networkCardIndex)) { query["NetworkCardIndex"] = request.networkCardIndex; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.trunkNetworkInstanceId)) { query["TrunkNetworkInstanceId"] = request.trunkNetworkInstanceId; } if (!Util.isUnset(request.waitForNetworkConfigurationReady)) { query["WaitForNetworkConfigurationReady"] = request.waitForNetworkConfigurationReady; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AttachNetworkInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AttachNetworkInterfaceResponse({})); } /** * Take note of the following items: * * The ENI must be in the **Available** state. You can attach an ENI to only one instance that resides in the same zone and VPC as the ENI.`` * * The instance must be in the Running or Stopped state. When you attach ENIs to instances of specific instance types, make sure that the instances are in the Stopped state. For more information, see the "Instance types of the ECS instances that must be in the Stopped (Stopped) state" section in the [Bind an ENI](~~58503~~) topic. * ** * **Note**If the last start time of the instance (including the start time of the instance if it is a new instance, the last restart time of the instance, and the last reactivation time of the instance) is before April 1st, 2018 and the instance is in the Running state, you must call the RebootInstance operation to restart the instance. If you do not call the RebootInstance operation to restart the instance, you cannot attach the ENI to the instance. * * You can attach multiple ENIs to one instance. For more information, see [ENI overview](~~58496~~). * * The vSwitch to which the ENI is connected must be in the same zone and VPC as the vSwitch to which the instance is connected. * * This operation is an asynchronous operation. After you call this operation to attach an ENI, you can view the status or events of the ENI to check whether the ENI is attached. The following figure shows the transitions between the statuses of the ENI. * ![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221124/esgu/AttachNetworkInterface.jpg) If the ENI is in the Attaching state, the ENI attachment request is sent and the ENI is being attached to the specified instance. If the ENI is in the InUse state, the ENI is attached to the specified instance. If the ENI is in the Available state, the ENI failed to be attached. * **For examples on how to call this operation, see **[Attach an ENI](~~471550~~). * * @param request AttachNetworkInterfaceRequest * @return AttachNetworkInterfaceResponse */ async attachNetworkInterface(request: AttachNetworkInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.attachNetworkInterfaceWithOptions(request, runtime); } /** * Take note of the following items: * * The total number of outbound and inbound rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in [Limits](~~25412#SecurityGroupQuota1~~). * * The valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. * * When multiple security group rules have the same priority, drop rules take precedence. * * The source can be a CIDR block that is specified by SourceCidrIp, Ipv6SourceCidrIp, or SourcePrefixListId. The source can also be Elastic Compute Service (ECS) instances in a security group that is specified by SourceGroupId. * * You cannot reference security groups as sources or destinations in the rules of advanced security groups. * * You can reference up to 20 security groups as sources or destinations in the rules of each basic security group. * * If the specified security group rule already exists in the security group, the call is successful but no security group rule is created. * * Parameters and their `Permissions.N`-prefixed counterparts cannot be specified at the same time. We recommend that you use the `Permissions.N`-prefixed parameters. * * You can determine a security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter. * * Parameters used to specify an inbound security group rule that controls access from a specific CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourceCidrIp. For a security group of the Virtual Private Cloud (VPC) type, you must set NicType to intranet. For a security group of the classic network type, you can set NicType to either internet or intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourceCidrIp=10.0.0.0/8 * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Accept * & * * Parameters used to determine an inbound security group rule that controls access from a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceGroupOwnerAccount, and SourceGroupId. In this case, you must set NicType to intranet. For mutual access between security groups in the classic network, you can allow or deny another security group within the same region access to your security group. The security group that is allowed access to your security group can belong to your own Alibaba Cloud account or another Alibaba Cloud account specified by SourceGroupOwnerAccount. For mutual access between security groups in VPCs, you can allow or deny another security group within the same VPC access to your security group. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourceGroupId=sg-1651FBB** * &Permissions.1.SourceGroupOwnerAccount=test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * Parameters used to determine an inbound security group rule that controls access from a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourcePrefixListId. In this case, prefix lists support only security groups in VPCs. NicType must be set to intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourcePrefixListId=pl-x1j1k5ykzqlixdcy**** * &Permissions.1.SourceGroupOwnerAccount=test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * For information about examples on security group rule settings, see [Security groups for different use cases](~~25475~~) and [Security group quintuple rules](~~97439~~). * * @param request AuthorizeSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return AuthorizeSecurityGroupResponse */ async authorizeSecurityGroupWithOptions(request: AuthorizeSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.permissions)) { query["Permissions"] = request.permissions; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourceGroupId)) { query["SourceGroupId"] = request.sourceGroupId; } if (!Util.isUnset(request.sourceGroupOwnerAccount)) { query["SourceGroupOwnerAccount"] = request.sourceGroupOwnerAccount; } if (!Util.isUnset(request.sourceGroupOwnerId)) { query["SourceGroupOwnerId"] = request.sourceGroupOwnerId; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } if (!Util.isUnset(request.sourcePrefixListId)) { query["SourcePrefixListId"] = request.sourcePrefixListId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AuthorizeSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AuthorizeSecurityGroupResponse({})); } /** * Take note of the following items: * * The total number of outbound and inbound rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in [Limits](~~25412#SecurityGroupQuota1~~). * * The valid values of Priority range from 1 to 100. A smaller value indicates a higher priority. * * When multiple security group rules have the same priority, drop rules take precedence. * * The source can be a CIDR block that is specified by SourceCidrIp, Ipv6SourceCidrIp, or SourcePrefixListId. The source can also be Elastic Compute Service (ECS) instances in a security group that is specified by SourceGroupId. * * You cannot reference security groups as sources or destinations in the rules of advanced security groups. * * You can reference up to 20 security groups as sources or destinations in the rules of each basic security group. * * If the specified security group rule already exists in the security group, the call is successful but no security group rule is created. * * Parameters and their `Permissions.N`-prefixed counterparts cannot be specified at the same time. We recommend that you use the `Permissions.N`-prefixed parameters. * * You can determine a security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter. * * Parameters used to specify an inbound security group rule that controls access from a specific CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourceCidrIp. For a security group of the Virtual Private Cloud (VPC) type, you must set NicType to intranet. For a security group of the classic network type, you can set NicType to either internet or intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourceCidrIp=10.0.0.0/8 * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Accept * & * * Parameters used to determine an inbound security group rule that controls access from a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceGroupOwnerAccount, and SourceGroupId. In this case, you must set NicType to intranet. For mutual access between security groups in the classic network, you can allow or deny another security group within the same region access to your security group. The security group that is allowed access to your security group can belong to your own Alibaba Cloud account or another Alibaba Cloud account specified by SourceGroupOwnerAccount. For mutual access between security groups in VPCs, you can allow or deny another security group within the same VPC access to your security group. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourceGroupId=sg-1651FBB** * &Permissions.1.SourceGroupOwnerAccount=test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * Parameters used to determine an inbound security group rule that controls access from a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and SourcePrefixListId. In this case, prefix lists support only security groups in VPCs. NicType must be set to intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &Permissions.1.SourcePrefixListId=pl-x1j1k5ykzqlixdcy**** * &Permissions.1.SourceGroupOwnerAccount=test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * For information about examples on security group rule settings, see [Security groups for different use cases](~~25475~~) and [Security group quintuple rules](~~97439~~). * * @param request AuthorizeSecurityGroupRequest * @return AuthorizeSecurityGroupResponse */ async authorizeSecurityGroup(request: AuthorizeSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.authorizeSecurityGroupWithOptions(request, runtime); } /** * In the security group-related API documents, outbound traffic refers to the traffic that is sent by the source device and received at the destination device. * When you call this operation, take note of the following items: * * The total number of inbound and outbound security group rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in [](~~25412#SecurityGroupQuota1~~). * * You can set Policy to accept or drop for each security group rule to allow or deny access. * * The valid value of Priority ranges from 1 to 100. A smaller value indicates a higher priority. * * When several security group rules have the same priority, drop rules take precedence. * * The destination can be a CIDR block specified by DestCidrIp, Ipv6DestCidrIp, or DestPrefixListId or can be Elastic Compute Service (ECS) instances in a security group specified by DestGroupId. * * For advanced security groups, security groups cannot be used as authorization objects. * * For each basic security group, a maximum of 20 security groups can be used as authorization objects. * * If the specified security group rule exists in the security group, the call is successful but no security group rule is created. * * The `Permissions.N` prefix is added to some parameters to generate new parameters. Original parameters and corresponding parameters prefixed with Permissions.N cannot be configured together. We recommend that you use parameters prefixed with `Permissions.N`. * * You can determine a security group rule by configuring one of the following groups of parameters. You cannot determine a security group rule by configuring only one parameter. * * Parameters used to specify a security group rule that controls access to a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestCidrIp. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.IpProtocol=ICMP * &Permissions.1.DestCidrIp=10.0.0.0/8 * &Permissions.1.PortRange=-1/-1 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Accept * & * * Parameters used to specify a security group rule that controls access to a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestGroupOwnerAccount, and DestGroupId. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.DestGroupId=sg-bp67acfmxazb4pi*** * &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * Parameters used to specify a security group rule that controls access to a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestPrefixListId. In this case, prefix lists support only security groups in virtual private clouds (VPCs). NicType must be set to intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.DestPrefixListId=pl-x1j1k5ykzqlixdcy**** * &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * @param request AuthorizeSecurityGroupEgressRequest * @param runtime runtime options for this request RuntimeOptions * @return AuthorizeSecurityGroupEgressResponse */ async authorizeSecurityGroupEgressWithOptions(request: AuthorizeSecurityGroupEgressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.destGroupId)) { query["DestGroupId"] = request.destGroupId; } if (!Util.isUnset(request.destGroupOwnerAccount)) { query["DestGroupOwnerAccount"] = request.destGroupOwnerAccount; } if (!Util.isUnset(request.destGroupOwnerId)) { query["DestGroupOwnerId"] = request.destGroupOwnerId; } if (!Util.isUnset(request.destPrefixListId)) { query["DestPrefixListId"] = request.destPrefixListId; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.permissions)) { query["Permissions"] = request.permissions; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "AuthorizeSecurityGroupEgress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new AuthorizeSecurityGroupEgressResponse({})); } /** * In the security group-related API documents, outbound traffic refers to the traffic that is sent by the source device and received at the destination device. * When you call this operation, take note of the following items: * * The total number of inbound and outbound security group rules in each security group cannot exceed 200. For more information, see the "Security group limits" section in [](~~25412#SecurityGroupQuota1~~). * * You can set Policy to accept or drop for each security group rule to allow or deny access. * * The valid value of Priority ranges from 1 to 100. A smaller value indicates a higher priority. * * When several security group rules have the same priority, drop rules take precedence. * * The destination can be a CIDR block specified by DestCidrIp, Ipv6DestCidrIp, or DestPrefixListId or can be Elastic Compute Service (ECS) instances in a security group specified by DestGroupId. * * For advanced security groups, security groups cannot be used as authorization objects. * * For each basic security group, a maximum of 20 security groups can be used as authorization objects. * * If the specified security group rule exists in the security group, the call is successful but no security group rule is created. * * The `Permissions.N` prefix is added to some parameters to generate new parameters. Original parameters and corresponding parameters prefixed with Permissions.N cannot be configured together. We recommend that you use parameters prefixed with `Permissions.N`. * * You can determine a security group rule by configuring one of the following groups of parameters. You cannot determine a security group rule by configuring only one parameter. * * Parameters used to specify a security group rule that controls access to a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestCidrIp. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.IpProtocol=ICMP * &Permissions.1.DestCidrIp=10.0.0.0/8 * &Permissions.1.PortRange=-1/-1 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Accept * & * * Parameters used to specify a security group rule that controls access to a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestGroupOwnerAccount, and DestGroupId. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.DestGroupId=sg-bp67acfmxazb4pi*** * &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * Parameters used to specify a security group rule that controls access to a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, and DestPrefixListId. In this case, prefix lists support only security groups in virtual private clouds (VPCs). NicType must be set to intranet. Sample request: * http(s)://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4ph*** * &Permissions.1.DestPrefixListId=pl-x1j1k5ykzqlixdcy**** * &Permissions.1.DestGroupOwnerAccount=Test@aliyun.com * &Permissions.1.IpProtocol=TCP * &Permissions.1.PortRange=22/22 * &Permissions.1.NicType=intranet * &Permissions.1.Policy=Drop * & * * @param request AuthorizeSecurityGroupEgressRequest * @return AuthorizeSecurityGroupEgressResponse */ async authorizeSecurityGroupEgress(request: AuthorizeSecurityGroupEgressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.authorizeSecurityGroupEgressWithOptions(request, runtime); } async cancelAutoSnapshotPolicyWithOptions(request: CancelAutoSnapshotPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.diskIds)) { query["diskIds"] = request.diskIds; } if (!Util.isUnset(request.regionId)) { query["regionId"] = request.regionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelAutoSnapshotPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelAutoSnapshotPolicyResponse({})); } async cancelAutoSnapshotPolicy(request: CancelAutoSnapshotPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelAutoSnapshotPolicyWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * After you cancel an image copy task, the image copy created in the destination region is deleted, and the copied image remains unchanged. * * If the image copy task is complete, the CancelCopyImage operation fails, and an error is returned. * * @param request CancelCopyImageRequest * @param runtime runtime options for this request RuntimeOptions * @return CancelCopyImageResponse */ async cancelCopyImageWithOptions(request: CancelCopyImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelCopyImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelCopyImageResponse({})); } /** * When you call this operation, take note of the following items: * * After you cancel an image copy task, the image copy created in the destination region is deleted, and the copied image remains unchanged. * * If the image copy task is complete, the CancelCopyImage operation fails, and an error is returned. * * @param request CancelCopyImageRequest * @return CancelCopyImageResponse */ async cancelCopyImage(request: CancelCopyImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelCopyImageWithOptions(request, runtime); } /** * Before you call this operation, make sure that the image build task to be canceled is in the BUILDING, DISTRIBUTING, or RELEASING state. * * @param request CancelImagePipelineExecutionRequest * @param runtime runtime options for this request RuntimeOptions * @return CancelImagePipelineExecutionResponse */ async cancelImagePipelineExecutionWithOptions(request: CancelImagePipelineExecutionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.executionId)) { query["ExecutionId"] = request.executionId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.templateTag)) { query["TemplateTag"] = request.templateTag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelImagePipelineExecution", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelImagePipelineExecutionResponse({})); } /** * Before you call this operation, make sure that the image build task to be canceled is in the BUILDING, DISTRIBUTING, or RELEASING state. * * @param request CancelImagePipelineExecutionRequest * @return CancelImagePipelineExecutionResponse */ async cancelImagePipelineExecution(request: CancelImagePipelineExecutionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelImagePipelineExecutionWithOptions(request, runtime); } /** * @deprecated * * @param request CancelPhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return CancelPhysicalConnectionResponse */ // Deprecated async cancelPhysicalConnectionWithOptions(request: CancelPhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelPhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelPhysicalConnectionResponse({})); } /** * @deprecated * * @param request CancelPhysicalConnectionRequest * @return CancelPhysicalConnectionResponse */ // Deprecated async cancelPhysicalConnection(request: CancelPhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelPhysicalConnectionWithOptions(request, runtime); } async cancelSimulatedSystemEventsWithOptions(request: CancelSimulatedSystemEventsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.eventId)) { query["EventId"] = request.eventId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelSimulatedSystemEvents", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelSimulatedSystemEventsResponse({})); } async cancelSimulatedSystemEvents(request: CancelSimulatedSystemEventsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelSimulatedSystemEventsWithOptions(request, runtime); } async cancelTaskWithOptions(request: CancelTaskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.taskId)) { query["TaskId"] = request.taskId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CancelTask", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CancelTaskResponse({})); } async cancelTask(request: CancelTaskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.cancelTaskWithOptions(request, runtime); } /** * @deprecated * * @param request ConnectRouterInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return ConnectRouterInterfaceResponse */ // Deprecated async connectRouterInterfaceWithOptions(request: ConnectRouterInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ConnectRouterInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ConnectRouterInterfaceResponse({})); } /** * @deprecated * * @param request ConnectRouterInterfaceRequest * @return ConnectRouterInterfaceResponse */ // Deprecated async connectRouterInterface(request: ConnectRouterInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.connectRouterInterfaceWithOptions(request, runtime); } /** * ## [](#)Usage notes * After a public IP address is converted into an EIP, the EIP is billed separately. Make sure that you fully understand the billing methods of EIPs. For more information, see [Billing overview](~~122035~~). * When you call this operation, make sure that the ECS instance meets the following requirements: * * The instance is in the **Stopped** (`Stopped`) or **Running** (`Running`) state. * * The instance has no EIPs associated. * * The instance has no configuration change tasks that have not taken effect. * * The public bandwidth of the instance is not 0 Mbit/s. * * If the instance is a subscription instance, the billing method for network usage of the instance must be `pay-by-traffic`. The public IP address of a subscription instance that uses the `pay-by-bandwidth` billing method for network usage cannot be converted into an EIP. This requirement does not apply to pay-as-you-go instances. For more information, see [Change the billing method for network usage](~~178883~~). * * If the instance is a subscription instance that resides in a VPC, the instance does not expire within 24 hours. * * @param request ConvertNatPublicIpToEipRequest * @param runtime runtime options for this request RuntimeOptions * @return ConvertNatPublicIpToEipResponse */ async convertNatPublicIpToEipWithOptions(request: ConvertNatPublicIpToEipRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ConvertNatPublicIpToEip", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ConvertNatPublicIpToEipResponse({})); } /** * ## [](#)Usage notes * After a public IP address is converted into an EIP, the EIP is billed separately. Make sure that you fully understand the billing methods of EIPs. For more information, see [Billing overview](~~122035~~). * When you call this operation, make sure that the ECS instance meets the following requirements: * * The instance is in the **Stopped** (`Stopped`) or **Running** (`Running`) state. * * The instance has no EIPs associated. * * The instance has no configuration change tasks that have not taken effect. * * The public bandwidth of the instance is not 0 Mbit/s. * * If the instance is a subscription instance, the billing method for network usage of the instance must be `pay-by-traffic`. The public IP address of a subscription instance that uses the `pay-by-bandwidth` billing method for network usage cannot be converted into an EIP. This requirement does not apply to pay-as-you-go instances. For more information, see [Change the billing method for network usage](~~178883~~). * * If the instance is a subscription instance that resides in a VPC, the instance does not expire within 24 hours. * * @param request ConvertNatPublicIpToEipRequest * @return ConvertNatPublicIpToEipResponse */ async convertNatPublicIpToEip(request: ConvertNatPublicIpToEipRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.convertNatPublicIpToEipWithOptions(request, runtime); } /** * After you copy a custom image (source image) to the destination region, you can use the image copy to create ECS instances by calling the RunInstances operation or replace the system disks of the ECS instances by calling the ReplaceSystemDisk operation in the destination region. * When you call this operation, take note of the following items: * * You can copy only custom images that are in the `Available` state. * * Custom images that you want to copy must belong to your Alibaba Cloud account or be shared to you by others, and cannot be copied across accounts. * * When an image is being copied, the image copy cannot be deleted by calling the [DeleteImage](~~25537~~) operation. However, you can cancel the copying task that is running by calling the [CancelCopyImage](~~25539~~) operation. * * A region can have only one image copying task running at a time. Other image copying tasks queue up for the current task to complete before the tasks can run in sequence. * * You can configure the `ResourceGroupId` parameter to specify the resource group to which the image copy belongs. If you do not configure the `ResourceGroupId` parameter, the image copy belongs to the default resource group. * * @param request CopyImageRequest * @param runtime runtime options for this request RuntimeOptions * @return CopyImageResponse */ async copyImageWithOptions(request: CopyImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.destinationDescription)) { query["DestinationDescription"] = request.destinationDescription; } if (!Util.isUnset(request.destinationImageName)) { query["DestinationImageName"] = request.destinationImageName; } if (!Util.isUnset(request.destinationRegionId)) { query["DestinationRegionId"] = request.destinationRegionId; } if (!Util.isUnset(request.encryptAlgorithm)) { query["EncryptAlgorithm"] = request.encryptAlgorithm; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CopyImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CopyImageResponse({})); } /** * After you copy a custom image (source image) to the destination region, you can use the image copy to create ECS instances by calling the RunInstances operation or replace the system disks of the ECS instances by calling the ReplaceSystemDisk operation in the destination region. * When you call this operation, take note of the following items: * * You can copy only custom images that are in the `Available` state. * * Custom images that you want to copy must belong to your Alibaba Cloud account or be shared to you by others, and cannot be copied across accounts. * * When an image is being copied, the image copy cannot be deleted by calling the [DeleteImage](~~25537~~) operation. However, you can cancel the copying task that is running by calling the [CancelCopyImage](~~25539~~) operation. * * A region can have only one image copying task running at a time. Other image copying tasks queue up for the current task to complete before the tasks can run in sequence. * * You can configure the `ResourceGroupId` parameter to specify the resource group to which the image copy belongs. If you do not configure the `ResourceGroupId` parameter, the image copy belongs to the default resource group. * * @param request CopyImageRequest * @return CopyImageResponse */ async copyImage(request: CopyImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.copyImageWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * - New snapshots (copies) cannot be used to roll back disks from which the source snapshots (originals) were created. * - Encrypted snapshots cannot be copied. * - Local snapshots cannot be copied. * * @param request CopySnapshotRequest * @param runtime runtime options for this request RuntimeOptions * @return CopySnapshotResponse */ async copySnapshotWithOptions(request: CopySnapshotRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.arn)) { query["Arn"] = request.arn; } if (!Util.isUnset(request.destinationRegionId)) { query["DestinationRegionId"] = request.destinationRegionId; } if (!Util.isUnset(request.destinationSnapshotDescription)) { query["DestinationSnapshotDescription"] = request.destinationSnapshotDescription; } if (!Util.isUnset(request.destinationSnapshotName)) { query["DestinationSnapshotName"] = request.destinationSnapshotName; } if (!Util.isUnset(request.destinationStorageLocationArn)) { query["DestinationStorageLocationArn"] = request.destinationStorageLocationArn; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.retentionDays)) { query["RetentionDays"] = request.retentionDays; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CopySnapshot", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CopySnapshotResponse({})); } /** * When you call this operation, take note of the following items: * - New snapshots (copies) cannot be used to roll back disks from which the source snapshots (originals) were created. * - Encrypted snapshots cannot be copied. * - Local snapshots cannot be copied. * * @param request CopySnapshotRequest * @return CopySnapshotResponse */ async copySnapshot(request: CopySnapshotRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.copySnapshotWithOptions(request, runtime); } /** * After you use an activation code to register a server that is not provided by Alibaba Cloud as an Alibaba Cloud managed instance, you can use various online services of Alibaba Cloud, such as Cloud Assistant, CloudOps Orchestration Service (OOS), and Apsara Devops, on the managed instance. * If a server is not provided by Alibaba Cloud, you can register the server as an Alibaba Cloud managed instance only if the server has Internet connectivity and runs an operating system of one of the following versions: * - Alibaba Cloud Linux 2, Alibaba Cloud Linux 3, and later * - CentOS 6, CentOS 7, CentOS 8, and later * - Debian 8, Debian 9, Debian 10, and later * - Ubuntu 12, Ubuntu 14, Ubuntu 16, Ubuntu 18, and later * - CoreOS * - OpenSUSE * - Red Hat 5, Red Hat 6, Red Hat 7, and later * - SUSE Linux Enterprise Server (SLES) 11, SLES 12, SLES 15, and later * - Windows Server 2012, Windows Server 2016, Windows Server 2019, and later * You can have up to 5,000 activation codes per Alibaba Cloud region. When the number of activation codes exceeds 1,000, the usage of the activation codes must be greater than 50% before you can proceed to create more activation codes. * >To query the usage of activation codes, go to the Cloud Assistant page in the Elastic Compute Service (ECS) console, click the Manage Instances tab, and then click Register Instance. * * @param request CreateActivationRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateActivationResponse */ async createActivationWithOptions(request: CreateActivationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.instanceCount)) { query["InstanceCount"] = request.instanceCount; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.ipAddressRange)) { query["IpAddressRange"] = request.ipAddressRange; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.timeToLiveInHours)) { query["TimeToLiveInHours"] = request.timeToLiveInHours; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateActivation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateActivationResponse({})); } /** * After you use an activation code to register a server that is not provided by Alibaba Cloud as an Alibaba Cloud managed instance, you can use various online services of Alibaba Cloud, such as Cloud Assistant, CloudOps Orchestration Service (OOS), and Apsara Devops, on the managed instance. * If a server is not provided by Alibaba Cloud, you can register the server as an Alibaba Cloud managed instance only if the server has Internet connectivity and runs an operating system of one of the following versions: * - Alibaba Cloud Linux 2, Alibaba Cloud Linux 3, and later * - CentOS 6, CentOS 7, CentOS 8, and later * - Debian 8, Debian 9, Debian 10, and later * - Ubuntu 12, Ubuntu 14, Ubuntu 16, Ubuntu 18, and later * - CoreOS * - OpenSUSE * - Red Hat 5, Red Hat 6, Red Hat 7, and later * - SUSE Linux Enterprise Server (SLES) 11, SLES 12, SLES 15, and later * - Windows Server 2012, Windows Server 2016, Windows Server 2019, and later * You can have up to 5,000 activation codes per Alibaba Cloud region. When the number of activation codes exceeds 1,000, the usage of the activation codes must be greater than 50% before you can proceed to create more activation codes. * >To query the usage of activation codes, go to the Cloud Assistant page in the Elastic Compute Service (ECS) console, click the Manage Instances tab, and then click Register Instance. * * @param request CreateActivationRequest * @return CreateActivationResponse */ async createActivation(request: CreateActivationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createActivationWithOptions(request, runtime); } /** * ## [](#)Usage notes * * Auto Provisioning is a service that allows quick deployment of an instance cluster that consists of preemptible instances and pay-as-you-go instances. Auto Provisioning supports push-button deployment of instance clusters across different billing methods, instance families, and zones. For more information, see [Use auto provisioning group-related API operations to create multiple ECS instances at the same time](~~200772~~). * * Auto Provisioning uses auto provisioning groups to schedule and maintain computing resources. You can use auto provisioning groups to obtain a steady supply of computing resources. This helps reduce the impact on compute capacity when preemptible instances are reclaimed. * * Auto Provisioning is provided free of charge. However, you are charged for instance resources that are created in auto provisioning groups. For more information, see [Overview of preemptible instances](~~52088~~) and [Pay-as-you-go](~~40653~~). * * When you specify both a launch template (`LaunchTemplateId`) and extended configurations (`LaunchConfiguration.*` parameters), LaunchTemplateId takes precedence. * * @param request CreateAutoProvisioningGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateAutoProvisioningGroupResponse */ async createAutoProvisioningGroupWithOptions(request: CreateAutoProvisioningGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupName)) { query["AutoProvisioningGroupName"] = request.autoProvisioningGroupName; } if (!Util.isUnset(request.autoProvisioningGroupType)) { query["AutoProvisioningGroupType"] = request.autoProvisioningGroupType; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.dataDiskConfig)) { query["DataDiskConfig"] = request.dataDiskConfig; } if (!Util.isUnset(request.defaultTargetCapacityType)) { query["DefaultTargetCapacityType"] = request.defaultTargetCapacityType; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.excessCapacityTerminationPolicy)) { query["ExcessCapacityTerminationPolicy"] = request.excessCapacityTerminationPolicy; } if (!Util.isUnset(request.hibernationOptionsConfigured)) { query["HibernationOptionsConfigured"] = request.hibernationOptionsConfigured; } if (!Util.isUnset(request.launchTemplateConfig)) { query["LaunchTemplateConfig"] = request.launchTemplateConfig; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateVersion)) { query["LaunchTemplateVersion"] = request.launchTemplateVersion; } if (!Util.isUnset(request.maxSpotPrice)) { query["MaxSpotPrice"] = request.maxSpotPrice; } if (!Util.isUnset(request.minTargetCapacity)) { query["MinTargetCapacity"] = request.minTargetCapacity; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.payAsYouGoAllocationStrategy)) { query["PayAsYouGoAllocationStrategy"] = request.payAsYouGoAllocationStrategy; } if (!Util.isUnset(request.payAsYouGoTargetCapacity)) { query["PayAsYouGoTargetCapacity"] = request.payAsYouGoTargetCapacity; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.spotAllocationStrategy)) { query["SpotAllocationStrategy"] = request.spotAllocationStrategy; } if (!Util.isUnset(request.spotInstanceInterruptionBehavior)) { query["SpotInstanceInterruptionBehavior"] = request.spotInstanceInterruptionBehavior; } if (!Util.isUnset(request.spotInstancePoolsToUseCount)) { query["SpotInstancePoolsToUseCount"] = request.spotInstancePoolsToUseCount; } if (!Util.isUnset(request.spotTargetCapacity)) { query["SpotTargetCapacity"] = request.spotTargetCapacity; } if (!Util.isUnset(request.systemDiskConfig)) { query["SystemDiskConfig"] = request.systemDiskConfig; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.terminateInstances)) { query["TerminateInstances"] = request.terminateInstances; } if (!Util.isUnset(request.terminateInstancesWithExpiration)) { query["TerminateInstancesWithExpiration"] = request.terminateInstancesWithExpiration; } if (!Util.isUnset(request.totalTargetCapacity)) { query["TotalTargetCapacity"] = request.totalTargetCapacity; } if (!Util.isUnset(request.validFrom)) { query["ValidFrom"] = request.validFrom; } if (!Util.isUnset(request.validUntil)) { query["ValidUntil"] = request.validUntil; } if (!Util.isUnset(request.launchConfiguration)) { query["LaunchConfiguration"] = request.launchConfiguration; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateAutoProvisioningGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateAutoProvisioningGroupResponse({})); } /** * ## [](#)Usage notes * * Auto Provisioning is a service that allows quick deployment of an instance cluster that consists of preemptible instances and pay-as-you-go instances. Auto Provisioning supports push-button deployment of instance clusters across different billing methods, instance families, and zones. For more information, see [Use auto provisioning group-related API operations to create multiple ECS instances at the same time](~~200772~~). * * Auto Provisioning uses auto provisioning groups to schedule and maintain computing resources. You can use auto provisioning groups to obtain a steady supply of computing resources. This helps reduce the impact on compute capacity when preemptible instances are reclaimed. * * Auto Provisioning is provided free of charge. However, you are charged for instance resources that are created in auto provisioning groups. For more information, see [Overview of preemptible instances](~~52088~~) and [Pay-as-you-go](~~40653~~). * * When you specify both a launch template (`LaunchTemplateId`) and extended configurations (`LaunchConfiguration.*` parameters), LaunchTemplateId takes precedence. * * @param request CreateAutoProvisioningGroupRequest * @return CreateAutoProvisioningGroupResponse */ async createAutoProvisioningGroup(request: CreateAutoProvisioningGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createAutoProvisioningGroupWithOptions(request, runtime); } /** * ## [](#)Usage notes * When you call this operation to create an automatic snapshot policy, you can specify the days of the week on which to create automatic snapshots, the retention period of the automatic snapshots, and whether to enable cross-region replication for the snapshots in the policy to meet your diverse data backup requirements. After the automatic snapshot policy is created, call the [ApplyAutoSnapshotPolicy](~~25531~~) operation to apply the policy to disks. If you want to modify the automatic snapshot policy, call the [ModifyAutoSnapshotPolicyEx](~~25529~~) operation. * Take note of the following items: * * You can create up to 100 automatic snapshot policies per region for a single Alibaba Cloud account. * * If an automatic snapshot is being created when the time scheduled for creating another automatic snapshot is due, the new snapshot task is skipped. This may occur when a disk contains a large volume of data. For example, you have scheduled snapshots to be created at 09:00:00, 10:00:00, 11:00:00, and 12:00:00 for a disk. The system starts to create a snapshot for the disk at 09:00:00. The process takes 80 minutes to complete because the disk contains a large volume of data and ends at 10:20:00. In this case, the system does not create a snapshot at 10:00, but creates a snapshot at 11:00. * * For information about how to copy a snapshot from one region to another region, see the "Background information" section in [Copy a snapshot](~~159441~~). * * @param request CreateAutoSnapshotPolicyRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateAutoSnapshotPolicyResponse */ async createAutoSnapshotPolicyWithOptions(request: CreateAutoSnapshotPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.copiedSnapshotsRetentionDays)) { query["CopiedSnapshotsRetentionDays"] = request.copiedSnapshotsRetentionDays; } if (!Util.isUnset(request.copyEncryptionConfiguration)) { query["CopyEncryptionConfiguration"] = request.copyEncryptionConfiguration; } if (!Util.isUnset(request.enableCrossRegionCopy)) { query["EnableCrossRegionCopy"] = request.enableCrossRegionCopy; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageLocationArn)) { query["StorageLocationArn"] = request.storageLocationArn; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.targetCopyRegions)) { query["TargetCopyRegions"] = request.targetCopyRegions; } if (!Util.isUnset(request.autoSnapshotPolicyName)) { query["autoSnapshotPolicyName"] = request.autoSnapshotPolicyName; } if (!Util.isUnset(request.regionId)) { query["regionId"] = request.regionId; } if (!Util.isUnset(request.repeatWeekdays)) { query["repeatWeekdays"] = request.repeatWeekdays; } if (!Util.isUnset(request.retentionDays)) { query["retentionDays"] = request.retentionDays; } if (!Util.isUnset(request.timePoints)) { query["timePoints"] = request.timePoints; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateAutoSnapshotPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateAutoSnapshotPolicyResponse({})); } /** * ## [](#)Usage notes * When you call this operation to create an automatic snapshot policy, you can specify the days of the week on which to create automatic snapshots, the retention period of the automatic snapshots, and whether to enable cross-region replication for the snapshots in the policy to meet your diverse data backup requirements. After the automatic snapshot policy is created, call the [ApplyAutoSnapshotPolicy](~~25531~~) operation to apply the policy to disks. If you want to modify the automatic snapshot policy, call the [ModifyAutoSnapshotPolicyEx](~~25529~~) operation. * Take note of the following items: * * You can create up to 100 automatic snapshot policies per region for a single Alibaba Cloud account. * * If an automatic snapshot is being created when the time scheduled for creating another automatic snapshot is due, the new snapshot task is skipped. This may occur when a disk contains a large volume of data. For example, you have scheduled snapshots to be created at 09:00:00, 10:00:00, 11:00:00, and 12:00:00 for a disk. The system starts to create a snapshot for the disk at 09:00:00. The process takes 80 minutes to complete because the disk contains a large volume of data and ends at 10:20:00. In this case, the system does not create a snapshot at 10:00, but creates a snapshot at 11:00. * * For information about how to copy a snapshot from one region to another region, see the "Background information" section in [Copy a snapshot](~~159441~~). * * @param request CreateAutoSnapshotPolicyRequest * @return CreateAutoSnapshotPolicyResponse */ async createAutoSnapshotPolicy(request: CreateAutoSnapshotPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createAutoSnapshotPolicyWithOptions(request, runtime); } /** * When you create a capacity reservation, you can specify attributes such as a zone and an instance type. The system uses a private pool to reserve resources that match the specified attributes. For more information, see [Overview of Immediate Capacity Reservation](~~193633~~). * * Currently, only immediate capacity reservations are supported. Immediate capacity reservations take effect immediately after you purchase them. After you purchase an immediate capacity reservation, you are charged for the specified instance type based on the pay-as-you-go billing method regardless of whether you use the capacity reservation to create pay-as-you-go instances. Billing stops when you manually release the capacity reservation or when the capacity reservation expires and is automatically released. * * You can call the [CreateInstance](~~25499~~) or [RunInstances](~~63440~~) operation to specify private pool attributes when you create instances. To modify the attributes of a private pool, you can call the [ModifyInstanceAttachmentAttributes](~~190006~~) operation. If an instance matches a private pool associated with a capacity reservation, you are charged based on the configurations of the instance such as the instance type, disks, and public bandwidth. * * Before you use a private pool associated with a capacity reservation to create pay-as-you-go instances, you are charged only for the specified instance type. * * You can apply savings plans or regional reserved instances to offset hourly billing of unused immediate capacity reservations, and hourly fees of the instances that match the immediate capacity reservations. However, you cannot use zonal reserved instances to offset the hourly fees. We recommend that you purchase reserved instances or savings plans before you purchase immediate capacity reservations. This way, you can access resources free of charge within the coverage of the reserved instances or savings plans. * > You can call the CreateCapacityReservation operation to create only immediate capacity reservations. You can create immediate or scheduled capacity reservations in the Elastic Compute Service (ECS) console. For more information, see [Overview](~~193626#section-oil-qh5-xvx~~). * * @param request CreateCapacityReservationRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateCapacityReservationResponse */ async createCapacityReservationWithOptions(request: CreateCapacityReservationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.endTimeType)) { query["EndTimeType"] = request.endTimeType; } if (!Util.isUnset(request.instanceAmount)) { query["InstanceAmount"] = request.instanceAmount; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateCapacityReservation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateCapacityReservationResponse({})); } /** * When you create a capacity reservation, you can specify attributes such as a zone and an instance type. The system uses a private pool to reserve resources that match the specified attributes. For more information, see [Overview of Immediate Capacity Reservation](~~193633~~). * * Currently, only immediate capacity reservations are supported. Immediate capacity reservations take effect immediately after you purchase them. After you purchase an immediate capacity reservation, you are charged for the specified instance type based on the pay-as-you-go billing method regardless of whether you use the capacity reservation to create pay-as-you-go instances. Billing stops when you manually release the capacity reservation or when the capacity reservation expires and is automatically released. * * You can call the [CreateInstance](~~25499~~) or [RunInstances](~~63440~~) operation to specify private pool attributes when you create instances. To modify the attributes of a private pool, you can call the [ModifyInstanceAttachmentAttributes](~~190006~~) operation. If an instance matches a private pool associated with a capacity reservation, you are charged based on the configurations of the instance such as the instance type, disks, and public bandwidth. * * Before you use a private pool associated with a capacity reservation to create pay-as-you-go instances, you are charged only for the specified instance type. * * You can apply savings plans or regional reserved instances to offset hourly billing of unused immediate capacity reservations, and hourly fees of the instances that match the immediate capacity reservations. However, you cannot use zonal reserved instances to offset the hourly fees. We recommend that you purchase reserved instances or savings plans before you purchase immediate capacity reservations. This way, you can access resources free of charge within the coverage of the reserved instances or savings plans. * > You can call the CreateCapacityReservation operation to create only immediate capacity reservations. You can create immediate or scheduled capacity reservations in the Elastic Compute Service (ECS) console. For more information, see [Overview](~~193626#section-oil-qh5-xvx~~). * * @param request CreateCapacityReservationRequest * @return CreateCapacityReservationResponse */ async createCapacityReservation(request: CreateCapacityReservationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createCapacityReservationWithOptions(request, runtime); } /** * ## [](#)Usage notes * * You can create commands of the following types: * * Batch commands (RunBatScript), applicable to Windows instances * * PowerShell commands (RunPowerShellScript), applicable to Windows instances * * Shell commands (RunShellScript), applicable to Linux instances * * You can specify the Timeout parameter to set the maximum timeout period for executions of a command on Elastic Compute Service (ECS) instances. If an execution times out, [Cloud Assistant Agent](~~64921~~) forcefully terminates the command process by canceling the process ID (PID) of the command. * * For a one-time task, when the execution times out, the state of the command ([InvokeRecordStatus](~~64845~~)) becomes Failed. * * For a scheduled task, take note of the following items: * * The timeout period takes effect on each execution. * * When an execution times out, the state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * * The timeout of one execution does not affect the subsequent executions. * * You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](~~184116~~). * * You can use WorkingDir to specify the execution directory of a Cloud Assistant command. For Linux instances, the default execution directory of Cloud Assistant commands is the home directory of the root user, which is `/root`. For Windows instances, the default execution directory of Cloud Assistant commands is the directory where the Cloud Assistant Agent process resides, such as `C:\\Windows\\System32`. * * You can enable the custom parameter feature for a Cloud Assistant command by setting EnableParameter to true. When you set CommandContent, you can define custom parameters in the {{parameter}} format. Then, when the [InvokeCommand](~~64841~~) operation is called, the key-value pairs of custom parameters are passed in. For example, if a command is `echo {{name}}`, the Parameters parameter can be used to pass in the `` key-value pair when the InvokeCommand operation is called. The name key of the custom parameter is automatically replaced by the paired Jack value to generate a new command. As a result, the `echo Jack` command is run. * * @param request CreateCommandRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateCommandResponse */ async createCommandWithOptions(request: CreateCommandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandContent)) { query["CommandContent"] = request.commandContent; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.enableParameter)) { query["EnableParameter"] = request.enableParameter; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.timeout)) { query["Timeout"] = request.timeout; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } if (!Util.isUnset(request.workingDir)) { query["WorkingDir"] = request.workingDir; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateCommand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateCommandResponse({})); } /** * ## [](#)Usage notes * * You can create commands of the following types: * * Batch commands (RunBatScript), applicable to Windows instances * * PowerShell commands (RunPowerShellScript), applicable to Windows instances * * Shell commands (RunShellScript), applicable to Linux instances * * You can specify the Timeout parameter to set the maximum timeout period for executions of a command on Elastic Compute Service (ECS) instances. If an execution times out, [Cloud Assistant Agent](~~64921~~) forcefully terminates the command process by canceling the process ID (PID) of the command. * * For a one-time task, when the execution times out, the state of the command ([InvokeRecordStatus](~~64845~~)) becomes Failed. * * For a scheduled task, take note of the following items: * * The timeout period takes effect on each execution. * * When an execution times out, the state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * * The timeout of one execution does not affect the subsequent executions. * * You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can also apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](~~184116~~). * * You can use WorkingDir to specify the execution directory of a Cloud Assistant command. For Linux instances, the default execution directory of Cloud Assistant commands is the home directory of the root user, which is `/root`. For Windows instances, the default execution directory of Cloud Assistant commands is the directory where the Cloud Assistant Agent process resides, such as `C:\\Windows\\System32`. * * You can enable the custom parameter feature for a Cloud Assistant command by setting EnableParameter to true. When you set CommandContent, you can define custom parameters in the {{parameter}} format. Then, when the [InvokeCommand](~~64841~~) operation is called, the key-value pairs of custom parameters are passed in. For example, if a command is `echo {{name}}`, the Parameters parameter can be used to pass in the `` key-value pair when the InvokeCommand operation is called. The name key of the custom parameter is automatically replaced by the paired Jack value to generate a new command. As a result, the `echo Jack` command is run. * * @param request CreateCommandRequest * @return CreateCommandResponse */ async createCommand(request: CreateCommandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createCommandWithOptions(request, runtime); } async createDedicatedHostClusterWithOptions(request: CreateDedicatedHostClusterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostClusterName)) { query["DedicatedHostClusterName"] = request.dedicatedHostClusterName; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDedicatedHostCluster", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDedicatedHostClusterResponse({})); } async createDedicatedHostCluster(request: CreateDedicatedHostClusterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDedicatedHostClusterWithOptions(request, runtime); } /** * @deprecated : CreateDemand is deprecated, please use Ecs::2014-05-26::CreateCapacityReservation instead. * You can call this operation to file a demand for an ECS instance type. Alibaba Cloud provides the requested resources based on your demand. * You can file demands only for I/O optimized instance types and instances of the virtual private cloud (VPC) type. * > This operation is in internal preview and has not been officially released. We recommend that you do not call this operation. * * @param request CreateDemandRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateDemandResponse */ // Deprecated async createDemandWithOptions(request: CreateDemandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.amount)) { query["Amount"] = request.amount; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.demandDescription)) { query["DemandDescription"] = request.demandDescription; } if (!Util.isUnset(request.demandName)) { query["DemandName"] = request.demandName; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDemand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDemandResponse({})); } /** * @deprecated : CreateDemand is deprecated, please use Ecs::2014-05-26::CreateCapacityReservation instead. * You can call this operation to file a demand for an ECS instance type. Alibaba Cloud provides the requested resources based on your demand. * You can file demands only for I/O optimized instance types and instances of the virtual private cloud (VPC) type. * > This operation is in internal preview and has not been officially released. We recommend that you do not call this operation. * * @param request CreateDemandRequest * @return CreateDemandResponse */ // Deprecated async createDemand(request: CreateDemandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDemandWithOptions(request, runtime); } async createDeploymentSetWithOptions(request: CreateDeploymentSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.deploymentSetName)) { query["DeploymentSetName"] = request.deploymentSetName; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.domain)) { query["Domain"] = request.domain; } if (!Util.isUnset(request.granularity)) { query["Granularity"] = request.granularity; } if (!Util.isUnset(request.groupCount)) { query["GroupCount"] = request.groupCount; } if (!Util.isUnset(request.onUnableToRedeployFailedInstance)) { query["OnUnableToRedeployFailedInstance"] = request.onUnableToRedeployFailedInstance; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.strategy)) { query["Strategy"] = request.strategy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDeploymentSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDeploymentSetResponse({})); } async createDeploymentSet(request: CreateDeploymentSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDeploymentSetWithOptions(request, runtime); } async createDiagnosticMetricSetWithOptions(request: CreateDiagnosticMetricSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.metricIds)) { query["MetricIds"] = request.metricIds; } if (!Util.isUnset(request.metricSetName)) { query["MetricSetName"] = request.metricSetName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDiagnosticMetricSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDiagnosticMetricSetResponse({})); } async createDiagnosticMetricSet(request: CreateDiagnosticMetricSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDiagnosticMetricSetWithOptions(request, runtime); } async createDiagnosticReportWithOptions(request: CreateDiagnosticReportRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.metricSetId)) { query["MetricSetId"] = request.metricSetId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDiagnosticReport", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDiagnosticReportResponse({})); } async createDiagnosticReport(request: CreateDiagnosticReportRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDiagnosticReportWithOptions(request, runtime); } /** * * When you create a disk, you can enable the multi-attach (`MultiAttach`) feature for the disk. Before you enable the multi-attach feature, we recommend that you familiarize yourself with the multi-attach feature and its limits. For more information, see [NVMe protocol](~~256487~~) and [Use the multi-attach feature](~~262105~~). * * You can create a basic disk, an ultra disk, a standard SSD, or an enhanced SSD (ESSD). * * When you create disks, you may be charged for the resources used. We recommend that you familiarize yourself with the Elastic Compute Service (ECS) billing methods before you proceed. For more information, see [Billing overview](~~25398~~). * * By default, `DeleteAutoSnapshot` is set to `true` when a disk is created. This indicates that when the disk is released, the automatic snapshots of the disk are also deleted. You can call the [ModifyDiskAttribute](~~25517~~) operation to modify the parameter value. * * If you do not configure the performance level when you create an ESSD, the performance level for the ESSD is PL1 by default. You can call the [ModifyDiskSpec](~~123780~~) operation to modify the performance level of the ESSD. * * By default, for a disk that is created by calling this operation, the `Portable` attribute is set to `true` and the billing method is pay-as-you-go. * * @param request CreateDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateDiskResponse */ async createDiskWithOptions(request: CreateDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.advancedFeatures)) { query["AdvancedFeatures"] = request.advancedFeatures; } if (!Util.isUnset(request.arn)) { query["Arn"] = request.arn; } if (!Util.isUnset(request.burstingEnabled)) { query["BurstingEnabled"] = request.burstingEnabled; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.diskCategory)) { query["DiskCategory"] = request.diskCategory; } if (!Util.isUnset(request.diskName)) { query["DiskName"] = request.diskName; } if (!Util.isUnset(request.encryptAlgorithm)) { query["EncryptAlgorithm"] = request.encryptAlgorithm; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.multiAttach)) { query["MultiAttach"] = request.multiAttach; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.performanceLevel)) { query["PerformanceLevel"] = request.performanceLevel; } if (!Util.isUnset(request.provisionedIops)) { query["ProvisionedIops"] = request.provisionedIops; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.size)) { query["Size"] = request.size; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.storageClusterId)) { query["StorageClusterId"] = request.storageClusterId; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } if (!Util.isUnset(request.storageSetPartitionNumber)) { query["StorageSetPartitionNumber"] = request.storageSetPartitionNumber; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateDiskResponse({})); } /** * * When you create a disk, you can enable the multi-attach (`MultiAttach`) feature for the disk. Before you enable the multi-attach feature, we recommend that you familiarize yourself with the multi-attach feature and its limits. For more information, see [NVMe protocol](~~256487~~) and [Use the multi-attach feature](~~262105~~). * * You can create a basic disk, an ultra disk, a standard SSD, or an enhanced SSD (ESSD). * * When you create disks, you may be charged for the resources used. We recommend that you familiarize yourself with the Elastic Compute Service (ECS) billing methods before you proceed. For more information, see [Billing overview](~~25398~~). * * By default, `DeleteAutoSnapshot` is set to `true` when a disk is created. This indicates that when the disk is released, the automatic snapshots of the disk are also deleted. You can call the [ModifyDiskAttribute](~~25517~~) operation to modify the parameter value. * * If you do not configure the performance level when you create an ESSD, the performance level for the ESSD is PL1 by default. You can call the [ModifyDiskSpec](~~123780~~) operation to modify the performance level of the ESSD. * * By default, for a disk that is created by calling this operation, the `Portable` attribute is set to `true` and the billing method is pay-as-you-go. * * @param request CreateDiskRequest * @return CreateDiskResponse */ async createDisk(request: CreateDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createDiskWithOptions(request, runtime); } /** * Elasticity Assurance provides a new way to purchase and use resources with flexibility and assurance. It offers assured resource reservations for pay-as-you-go Elastic Compute Service (ECS) instances. For more information, see [Overview of Elasticity Assurance](~~193630~~). * * Elasticity assurances are not refundable after purchase. * * Elasticity assurances are applicable to only pay-as-you-go ECS instances. * * Elasticity assurances support only the unlimited mode. Therefore, you can set `AssuranceTimes` only to `Unlimited`. Elasticity assurances in unlimited mode can be applied an unlimited number of times within their effective period and take effect immediately after they are purchased. * * @param request CreateElasticityAssuranceRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateElasticityAssuranceResponse */ async createElasticityAssuranceWithOptions(request: CreateElasticityAssuranceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.assuranceTimes)) { query["AssuranceTimes"] = request.assuranceTimes; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.instanceAmount)) { query["InstanceAmount"] = request.instanceAmount; } if (!Util.isUnset(request.instanceCpuCoreCount)) { query["InstanceCpuCoreCount"] = request.instanceCpuCoreCount; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateElasticityAssurance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateElasticityAssuranceResponse({})); } /** * Elasticity Assurance provides a new way to purchase and use resources with flexibility and assurance. It offers assured resource reservations for pay-as-you-go Elastic Compute Service (ECS) instances. For more information, see [Overview of Elasticity Assurance](~~193630~~). * * Elasticity assurances are not refundable after purchase. * * Elasticity assurances are applicable to only pay-as-you-go ECS instances. * * Elasticity assurances support only the unlimited mode. Therefore, you can set `AssuranceTimes` only to `Unlimited`. Elasticity assurances in unlimited mode can be applied an unlimited number of times within their effective period and take effect immediately after they are purchased. * * @param request CreateElasticityAssuranceRequest * @return CreateElasticityAssuranceResponse */ async createElasticityAssurance(request: CreateElasticityAssuranceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createElasticityAssuranceWithOptions(request, runtime); } /** * @deprecated * * @param request CreateForwardEntryRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateForwardEntryResponse */ // Deprecated async createForwardEntryWithOptions(request: CreateForwardEntryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.externalIp)) { query["ExternalIp"] = request.externalIp; } if (!Util.isUnset(request.externalPort)) { query["ExternalPort"] = request.externalPort; } if (!Util.isUnset(request.forwardTableId)) { query["ForwardTableId"] = request.forwardTableId; } if (!Util.isUnset(request.internalIp)) { query["InternalIp"] = request.internalIp; } if (!Util.isUnset(request.internalPort)) { query["InternalPort"] = request.internalPort; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateForwardEntry", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateForwardEntryResponse({})); } /** * @deprecated * * @param request CreateForwardEntryRequest * @return CreateForwardEntryResponse */ // Deprecated async createForwardEntry(request: CreateForwardEntryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createForwardEntryWithOptions(request, runtime); } /** * @deprecated * * @param request CreateHaVipRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateHaVipResponse */ // Deprecated async createHaVipWithOptions(request: CreateHaVipRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ipAddress)) { query["IpAddress"] = request.ipAddress; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateHaVip", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateHaVipResponse({})); } /** * @deprecated * * @param request CreateHaVipRequest * @return CreateHaVipResponse */ // Deprecated async createHaVip(request: CreateHaVipRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createHaVipWithOptions(request, runtime); } async createHpcClusterWithOptions(request: CreateHpcClusterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateHpcCluster", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateHpcClusterResponse({})); } async createHpcCluster(request: CreateHpcClusterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createHpcClusterWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * You can use the created custom image only when the image is in the Available state. * * If the responses contain `{"OperationLocks": {"LockReason" : "security"}}` when you query instance information, the instance is locked for security reasons. In this case, no operation can be performed on the instance. * You can call the CreateImage operation to create a custom image by using one of the following methods. The following request parameters are sorted by priority: `InstanceId` > `DiskDeviceMapping` > `SnapshotId`. If your request contains two or more parameters, the custom image is created based on the parameter that has a higher priority. * * **Method 1**: Create a custom image from an instance. You need to only specify the instance ID (`InstanceId`). The instance must be in the `Running` or `Stopped` state. After the CreateImage operation is called, a snapshot is created for each disk of the instance. When you create a custom image from a running instance, some cache data may not be written to the disks. As a result, the data of the created custom image may be slightly inconsistent with that of the instance. We recommend that you create custom images from instances after you stop the instances ([StopInstances](~~155372~~)). * * **Method 2**: Create a custom image from the system disk snapshot of an instance. You need to only specify the ID of the system disk snapshot (`SnapshotId`). The specified snapshot must be created on or after July 15, 2013. * * **Method 3**: Create a custom image from multiple disk snapshots. You must specify the data mapping between the disks and the snapshots (`DiskDeviceMapping`). * When you use method 3 to create a custom image, take note of the following items: * * You can specify only one system disk snapshot. The device name of the system disk must be /dev/xvda. * * You can specify multiple data disk snapshots. The device names of the data disks must be unique and in alphabetical order from /dev/xvdb to /dev/xvdz. * * You can leave the `SnapshotId` parameter empty. In this case, an empty data disk with a specified size is created. * * The specified disk snapshot must be created on or after July 15, 2013. * * @param request CreateImageRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateImageResponse */ async createImageWithOptions(request: CreateImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.architecture)) { query["Architecture"] = request.architecture; } if (!Util.isUnset(request.bootMode)) { query["BootMode"] = request.bootMode; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.detectionStrategy)) { query["DetectionStrategy"] = request.detectionStrategy; } if (!Util.isUnset(request.diskDeviceMapping)) { query["DiskDeviceMapping"] = request.diskDeviceMapping; } if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.imageName)) { query["ImageName"] = request.imageName; } if (!Util.isUnset(request.imageVersion)) { query["ImageVersion"] = request.imageVersion; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateImageResponse({})); } /** * When you call this operation, take note of the following items: * * You can use the created custom image only when the image is in the Available state. * * If the responses contain `{"OperationLocks": {"LockReason" : "security"}}` when you query instance information, the instance is locked for security reasons. In this case, no operation can be performed on the instance. * You can call the CreateImage operation to create a custom image by using one of the following methods. The following request parameters are sorted by priority: `InstanceId` > `DiskDeviceMapping` > `SnapshotId`. If your request contains two or more parameters, the custom image is created based on the parameter that has a higher priority. * * **Method 1**: Create a custom image from an instance. You need to only specify the instance ID (`InstanceId`). The instance must be in the `Running` or `Stopped` state. After the CreateImage operation is called, a snapshot is created for each disk of the instance. When you create a custom image from a running instance, some cache data may not be written to the disks. As a result, the data of the created custom image may be slightly inconsistent with that of the instance. We recommend that you create custom images from instances after you stop the instances ([StopInstances](~~155372~~)). * * **Method 2**: Create a custom image from the system disk snapshot of an instance. You need to only specify the ID of the system disk snapshot (`SnapshotId`). The specified snapshot must be created on or after July 15, 2013. * * **Method 3**: Create a custom image from multiple disk snapshots. You must specify the data mapping between the disks and the snapshots (`DiskDeviceMapping`). * When you use method 3 to create a custom image, take note of the following items: * * You can specify only one system disk snapshot. The device name of the system disk must be /dev/xvda. * * You can specify multiple data disk snapshots. The device names of the data disks must be unique and in alphabetical order from /dev/xvdb to /dev/xvdz. * * You can leave the `SnapshotId` parameter empty. In this case, an empty data disk with a specified size is created. * * The specified disk snapshot must be created on or after July 15, 2013. * * @param request CreateImageRequest * @return CreateImageResponse */ async createImage(request: CreateImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createImageWithOptions(request, runtime); } /** * Take note of the following items: * * Only custom image components can be created. * * The images must run Linux operating systems. This indicates that you must set `SystemType` to Linux. * * You must set the image component type to image build component by setting the `ComponentType` parameter to Build. * * You can use Dockerfile to edit the content of image components, and then pass the edited content into the `Content` parameter. The content size must not be greater than 16 KB. `FROM` commands cannot be used in image components. An image component supports up to 127 commands. For information about supported commands, see [Description of commands supported by Image Builder](~~200206~~). * You can use image components to create image templates in the Elastic Compute Service (ECS) console, but cannot call API operations to use image components to create image templates. For more information, see [Overview of Image Builder](~~197410~~). * * @param request CreateImageComponentRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateImageComponentResponse */ async createImageComponentWithOptions(request: CreateImageComponentRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.componentType)) { query["ComponentType"] = request.componentType; } if (!Util.isUnset(request.content)) { query["Content"] = request.content; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemType)) { query["SystemType"] = request.systemType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateImageComponent", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateImageComponentResponse({})); } /** * Take note of the following items: * * Only custom image components can be created. * * The images must run Linux operating systems. This indicates that you must set `SystemType` to Linux. * * You must set the image component type to image build component by setting the `ComponentType` parameter to Build. * * You can use Dockerfile to edit the content of image components, and then pass the edited content into the `Content` parameter. The content size must not be greater than 16 KB. `FROM` commands cannot be used in image components. An image component supports up to 127 commands. For information about supported commands, see [Description of commands supported by Image Builder](~~200206~~). * You can use image components to create image templates in the Elastic Compute Service (ECS) console, but cannot call API operations to use image components to create image templates. For more information, see [Overview of Image Builder](~~197410~~). * * @param request CreateImageComponentRequest * @return CreateImageComponentResponse */ async createImageComponent(request: CreateImageComponentRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createImageComponentWithOptions(request, runtime); } /** * You can use image templates to specify custom image content and create images across regions and accounts. When you call this operation, take note of the following items: * * You can create only custom image templates. * * You can configure only public, custom, or shared Linux images or image families as the source images when you create image templates. * * When you use an image template to create an image, you must create an intermediate Elastic Compute Service (ECS) instance to help create the image. The intermediate instance is billed by using the pay-as-you-go billing method. For more information, see [Pay-as-you-go](~~40653~~). * For the `BuildContent` parameter that specifies the content of image templates, take note of the following items: * * If the `BuildContent` value contains `FROM` commands, the `FROM` commands override the values of `BaseImageType` that specifies the type of the source images and `BaseImage` that specifies the source image. * * If the `BuildContent` value does not contain `FROM` commands, the system creates a `FROM` command that consists of the `BaseImageType` and `BaseImage` values in the format of `:` and adds the command to the first line of the template content. * * You can use Dockerfile to edit the content of image templates and then pass the edited content into the `BuildContent` parameter. The content of an image template cannot exceed 16 KB in size and can contain up to 127 commands. For information about commands supported by image templates, see [Description of commands supported by Image Builder](~~200206~~). * You can use image components to create image templates in the ECS console, but cannot call API operations to use image components to create image templates. For more information, see [Overview of Image Builder](~~197410~~). * * @param request CreateImagePipelineRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateImagePipelineResponse */ async createImagePipelineWithOptions(request: CreateImagePipelineRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.addAccount)) { query["AddAccount"] = request.addAccount; } if (!Util.isUnset(request.baseImage)) { query["BaseImage"] = request.baseImage; } if (!Util.isUnset(request.baseImageType)) { query["BaseImageType"] = request.baseImageType; } if (!Util.isUnset(request.buildContent)) { query["BuildContent"] = request.buildContent; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.deleteInstanceOnFailure)) { query["DeleteInstanceOnFailure"] = request.deleteInstanceOnFailure; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.imageName)) { query["ImageName"] = request.imageName; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemDiskSize)) { query["SystemDiskSize"] = request.systemDiskSize; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.toRegionId)) { query["ToRegionId"] = request.toRegionId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateImagePipeline", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateImagePipelineResponse({})); } /** * You can use image templates to specify custom image content and create images across regions and accounts. When you call this operation, take note of the following items: * * You can create only custom image templates. * * You can configure only public, custom, or shared Linux images or image families as the source images when you create image templates. * * When you use an image template to create an image, you must create an intermediate Elastic Compute Service (ECS) instance to help create the image. The intermediate instance is billed by using the pay-as-you-go billing method. For more information, see [Pay-as-you-go](~~40653~~). * For the `BuildContent` parameter that specifies the content of image templates, take note of the following items: * * If the `BuildContent` value contains `FROM` commands, the `FROM` commands override the values of `BaseImageType` that specifies the type of the source images and `BaseImage` that specifies the source image. * * If the `BuildContent` value does not contain `FROM` commands, the system creates a `FROM` command that consists of the `BaseImageType` and `BaseImage` values in the format of `:` and adds the command to the first line of the template content. * * You can use Dockerfile to edit the content of image templates and then pass the edited content into the `BuildContent` parameter. The content of an image template cannot exceed 16 KB in size and can contain up to 127 commands. For information about commands supported by image templates, see [Description of commands supported by Image Builder](~~200206~~). * You can use image components to create image templates in the ECS console, but cannot call API operations to use image components to create image templates. For more information, see [Overview of Image Builder](~~197410~~). * * @param request CreateImagePipelineRequest * @return CreateImagePipelineResponse */ async createImagePipeline(request: CreateImagePipelineRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createImagePipelineWithOptions(request, runtime); } /** * ## [](#)Usage notes * > You can call the [DescribeAvailableResource](~~66186~~) operation to query available resources in a specific region or zone. If you want to batch create instances that automatically enter the Running state after they are created, we recommend that you call the [RunInstances](~~63440~~) operation. * Take note of the following items: * * **Billing**: * * You must familiarize yourself with ECS billing methods before you create an instance because you may be charged for the resources used by the instance. For more information, see [Billing overview](~~25398~~). * * If you create a subscription instance (`PrePaid`), available coupons in your account are used by default. * * **Instance type**: * * You can use the `IoOptimized` parameter to specify whether to create an I/O optimized instance. * * Instance type selection: See [Instance families](~~25378~~) or call the [DescribeInstanceTypes](~~25620~~) operation to query the performance data of instance types, or see [Best practices for instance type selection](~~58291~~) to learn about how to select instance types. * * Query of available resources: Call the [DescribeAvailableResource](~~66186~~) operation to query resources available in a specific region or zone. * > If the `QuotaExceed.ElasticQuota` error is returned when you call this operation, it indicates that the maximum number of instances of the specified instance type in the region has been reached, or the maximum number of vCPUs for all instance types in a zone has been reached. You can go to the [ECS console](https://ecs.console.aliyun.com/?spm=a2c8b.12215451.favorites.decs.5e3a336aMGTtzy#/privileges/quota) or [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to request a quota increase. * * **Image**: * * The image determines the system disk configurations of the new instance. The system disk of the new instance is a clone of the specified image. * * If you want to create instances with 512 MiB of memory, you cannot use Windows Server images except for Windows Server Semi-Annual Channel images. * * If you want to create instances with 4 GiB or more of memory, you cannot use 32-bit OS image. * * **Network type**: * * Each instance that resides in a virtual private cloud (VPC) must be connected to only a single vSwitch. * * If `VSwitchId` is specified, the security group specified by `SecurityGroupId` and the vSwitch specified by `VSwitchId` must belong to the same VPC. * * The value of `PrivateIpAddress` varies based on the value of `VSwitchId`. `PrivateIpAddress` cannot be separately specified. If `VSwitchId` and `PrivateIpAddress` are specified, the IP address specified by `PrivateIpAddress` must be an idle IP address in the CIDR block of the specified vSwitch. * * **Public bandwidth**: * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the bandwidth limit, submit a ticket. The throttling policy imposes the following constraints: In a single region, the total maximum bandwidth value of all instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s and the total maximum bandwidth value of all instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * If you call the `CreateInstance` operation to create an instance, no public IP addresses are assigned to the instance. You can call the [AllocatePublicIpAddress](~~25544~~) operation to assign a public IP address to an instance. * * Network usage fees vary based on the settings of `InternetChargeType` and `InternetMaxBandwidthOut`. * * The value of `InternetMaxBandwidthIn` does not affect billing because inbound data traffic is free of charge. * * If `InternetChargeType` is set to PayByBandwidth, `InternetMaxBandwidthOut` specifies the fixed bandwidth. A fixed bandwidth is a specified amount of public bandwidth allocated to an instance that uses the pay-by-bandwidth billing method for network usage. * * If `InternetChargeType` is set to PayByTraffic, `InternetMaxBandwidthOut` specifies the peak bandwidth. A peak bandwidth is the maximum amount of public bandwidth that an instance can consume when the instance uses the pay-by-traffic billing method for network usage. Network usage costs are calculated based on the volume of network traffic. * * **Security group**: * * If no security groups are available in the region where you want to create an instance, you must call the [CreateSecurityGroup](~~25553~~) operation to create a security group in that region first. * * The maximum number of instances that a security group can contain varies based on the security group type. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic. * * Instances in the same security group can communicate with each other over the internal network. By default, instances in different security groups cannot communicate with each other. You can allow communication between instances by allowing mutual access between the security groups to which the instances belong. For more information, see [AuthorizeSecurityGroup](~~25554~~) and [AuthorizeSecurityGroupEgress](~~25560~~). * * **Storage**: * * The instance is assigned a system disk whose capacity varies based on the size of the specified image. The size of the system disk must be at least `20 GiB` and greater than or equal to the image size. For information about system disk categories, see the description of `SystemDisk.Category`. * * The system disk of an I/O optimized instance can only be an enhanced SSD (ESSD) (`cloud_essd`), a standard SSD (`cloud_ssd`), or an ultra disk (`cloud_efficiency`). * * The maximum size of a data disk varies based on the disk category. For more information, see the description of `DataDisk.N.Size`. * * Up to 16 data disks can be added to an instance. Mount points /dev/xvd\\[b-z] are automatically assigned to data disks in ascending alphanumeric order. * > If the `QuotaExceed.DiskCapacity` error is returned when you call this operation, it indicates that the maximum capacity of the disks of the selected disk category in the specified zone has been reached. You can go to the [Quota Center](https://quotas.console.aliyun.com/products/disk/quotas) to query and request a quota increase. * * **User data**: If the instance type supports user data, you can use the UserData parameter to pass in user data.[](~~49121~~) User data is encoded in Base64. We recommend that you do not pass in confidential information (such as passwords or private keys) in plaintext as user data. This is because the system does not encrypt `UserData` values when API requests are transmitted. If you must pass in confidential information, we recommend that you encrypt and encode the information in Base64 before you pass in the information. Then decode and decrypt the information in the same way within the instance. * * **Others**: When you call API operations by using Alibaba Cloud CLI or SDKs, you must delete periods (.) from some request parameters before you use the parameters. For example, use `SystemDiskCategory` instead of `SystemDisk.Category` as a request parameter. * * @param request CreateInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateInstanceResponse */ async createInstanceWithOptions(request: CreateInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.affinity)) { query["Affinity"] = request.affinity; } if (!Util.isUnset(request.arn)) { query["Arn"] = request.arn; } if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewPeriod)) { query["AutoRenewPeriod"] = request.autoRenewPeriod; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clusterId)) { query["ClusterId"] = request.clusterId; } if (!Util.isUnset(request.creditSpecification)) { query["CreditSpecification"] = request.creditSpecification; } if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.deletionProtection)) { query["DeletionProtection"] = request.deletionProtection; } if (!Util.isUnset(request.deploymentSetGroupNo)) { query["DeploymentSetGroupNo"] = request.deploymentSetGroupNo; } if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.hostName)) { query["HostName"] = request.hostName; } if (!Util.isUnset(request.hpcClusterId)) { query["HpcClusterId"] = request.hpcClusterId; } if (!Util.isUnset(request.httpEndpoint)) { query["HttpEndpoint"] = request.httpEndpoint; } if (!Util.isUnset(request.httpPutResponseHopLimit)) { query["HttpPutResponseHopLimit"] = request.httpPutResponseHopLimit; } if (!Util.isUnset(request.httpTokens)) { query["HttpTokens"] = request.httpTokens; } if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.innerIpAddress)) { query["InnerIpAddress"] = request.innerIpAddress; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.nodeControllerId)) { query["NodeControllerId"] = request.nodeControllerId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.passwordInherit)) { query["PasswordInherit"] = request.passwordInherit; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotInterruptionBehavior)) { query["SpotInterruptionBehavior"] = request.spotInterruptionBehavior; } if (!Util.isUnset(request.spotPriceLimit)) { query["SpotPriceLimit"] = request.spotPriceLimit; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } if (!Util.isUnset(request.storageSetPartitionNumber)) { query["StorageSetPartitionNumber"] = request.storageSetPartitionNumber; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.tenancy)) { query["Tenancy"] = request.tenancy; } if (!Util.isUnset(request.useAdditionalService)) { query["UseAdditionalService"] = request.useAdditionalService; } if (!Util.isUnset(request.userData)) { query["UserData"] = request.userData; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vlanId)) { query["VlanId"] = request.vlanId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.hibernationOptions)) { query["HibernationOptions"] = request.hibernationOptions; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateInstanceResponse({})); } /** * ## [](#)Usage notes * > You can call the [DescribeAvailableResource](~~66186~~) operation to query available resources in a specific region or zone. If you want to batch create instances that automatically enter the Running state after they are created, we recommend that you call the [RunInstances](~~63440~~) operation. * Take note of the following items: * * **Billing**: * * You must familiarize yourself with ECS billing methods before you create an instance because you may be charged for the resources used by the instance. For more information, see [Billing overview](~~25398~~). * * If you create a subscription instance (`PrePaid`), available coupons in your account are used by default. * * **Instance type**: * * You can use the `IoOptimized` parameter to specify whether to create an I/O optimized instance. * * Instance type selection: See [Instance families](~~25378~~) or call the [DescribeInstanceTypes](~~25620~~) operation to query the performance data of instance types, or see [Best practices for instance type selection](~~58291~~) to learn about how to select instance types. * * Query of available resources: Call the [DescribeAvailableResource](~~66186~~) operation to query resources available in a specific region or zone. * > If the `QuotaExceed.ElasticQuota` error is returned when you call this operation, it indicates that the maximum number of instances of the specified instance type in the region has been reached, or the maximum number of vCPUs for all instance types in a zone has been reached. You can go to the [ECS console](https://ecs.console.aliyun.com/?spm=a2c8b.12215451.favorites.decs.5e3a336aMGTtzy#/privileges/quota) or [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to request a quota increase. * * **Image**: * * The image determines the system disk configurations of the new instance. The system disk of the new instance is a clone of the specified image. * * If you want to create instances with 512 MiB of memory, you cannot use Windows Server images except for Windows Server Semi-Annual Channel images. * * If you want to create instances with 4 GiB or more of memory, you cannot use 32-bit OS image. * * **Network type**: * * Each instance that resides in a virtual private cloud (VPC) must be connected to only a single vSwitch. * * If `VSwitchId` is specified, the security group specified by `SecurityGroupId` and the vSwitch specified by `VSwitchId` must belong to the same VPC. * * The value of `PrivateIpAddress` varies based on the value of `VSwitchId`. `PrivateIpAddress` cannot be separately specified. If `VSwitchId` and `PrivateIpAddress` are specified, the IP address specified by `PrivateIpAddress` must be an idle IP address in the CIDR block of the specified vSwitch. * * **Public bandwidth**: * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the bandwidth limit, submit a ticket. The throttling policy imposes the following constraints: In a single region, the total maximum bandwidth value of all instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s and the total maximum bandwidth value of all instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * If you call the `CreateInstance` operation to create an instance, no public IP addresses are assigned to the instance. You can call the [AllocatePublicIpAddress](~~25544~~) operation to assign a public IP address to an instance. * * Network usage fees vary based on the settings of `InternetChargeType` and `InternetMaxBandwidthOut`. * * The value of `InternetMaxBandwidthIn` does not affect billing because inbound data traffic is free of charge. * * If `InternetChargeType` is set to PayByBandwidth, `InternetMaxBandwidthOut` specifies the fixed bandwidth. A fixed bandwidth is a specified amount of public bandwidth allocated to an instance that uses the pay-by-bandwidth billing method for network usage. * * If `InternetChargeType` is set to PayByTraffic, `InternetMaxBandwidthOut` specifies the peak bandwidth. A peak bandwidth is the maximum amount of public bandwidth that an instance can consume when the instance uses the pay-by-traffic billing method for network usage. Network usage costs are calculated based on the volume of network traffic. * * **Security group**: * * If no security groups are available in the region where you want to create an instance, you must call the [CreateSecurityGroup](~~25553~~) operation to create a security group in that region first. * * The maximum number of instances that a security group can contain varies based on the security group type. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic. * * Instances in the same security group can communicate with each other over the internal network. By default, instances in different security groups cannot communicate with each other. You can allow communication between instances by allowing mutual access between the security groups to which the instances belong. For more information, see [AuthorizeSecurityGroup](~~25554~~) and [AuthorizeSecurityGroupEgress](~~25560~~). * * **Storage**: * * The instance is assigned a system disk whose capacity varies based on the size of the specified image. The size of the system disk must be at least `20 GiB` and greater than or equal to the image size. For information about system disk categories, see the description of `SystemDisk.Category`. * * The system disk of an I/O optimized instance can only be an enhanced SSD (ESSD) (`cloud_essd`), a standard SSD (`cloud_ssd`), or an ultra disk (`cloud_efficiency`). * * The maximum size of a data disk varies based on the disk category. For more information, see the description of `DataDisk.N.Size`. * * Up to 16 data disks can be added to an instance. Mount points /dev/xvd\\[b-z] are automatically assigned to data disks in ascending alphanumeric order. * > If the `QuotaExceed.DiskCapacity` error is returned when you call this operation, it indicates that the maximum capacity of the disks of the selected disk category in the specified zone has been reached. You can go to the [Quota Center](https://quotas.console.aliyun.com/products/disk/quotas) to query and request a quota increase. * * **User data**: If the instance type supports user data, you can use the UserData parameter to pass in user data.[](~~49121~~) User data is encoded in Base64. We recommend that you do not pass in confidential information (such as passwords or private keys) in plaintext as user data. This is because the system does not encrypt `UserData` values when API requests are transmitted. If you must pass in confidential information, we recommend that you encrypt and encode the information in Base64 before you pass in the information. Then decode and decrypt the information in the same way within the instance. * * **Others**: When you call API operations by using Alibaba Cloud CLI or SDKs, you must delete periods (.) from some request parameters before you use the parameters. For example, use `SystemDiskCategory` instead of `SystemDisk.Category` as a request parameter. * * @param request CreateInstanceRequest * @return CreateInstanceResponse */ async createInstance(request: CreateInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createInstanceWithOptions(request, runtime); } /** * ## Description * In addition to calling CreateKeyPair, you can create a key pair by using a third-party key pair generation tool and call the [ImportKeyPair](~~51774~~) operation to upload the key pair to an Alibaba Cloud region. * A maximum of 500 key pairs can be created in each region. For more information, see [Limits](~~25412~~). * * @param request CreateKeyPairRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateKeyPairResponse */ async createKeyPairWithOptions(request: CreateKeyPairRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateKeyPair", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateKeyPairResponse({})); } /** * ## Description * In addition to calling CreateKeyPair, you can create a key pair by using a third-party key pair generation tool and call the [ImportKeyPair](~~51774~~) operation to upload the key pair to an Alibaba Cloud region. * A maximum of 500 key pairs can be created in each region. For more information, see [Limits](~~25412~~). * * @param request CreateKeyPairRequest * @return CreateKeyPairResponse */ async createKeyPair(request: CreateKeyPairRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createKeyPairWithOptions(request, runtime); } /** * ## Description * Launch templates contain preset configurations used to create instances, such as the region, image ID, instance type, security group ID, and public bandwidth settings. If a specific parameter is not included in a launch template, you must manually specify the parameter when you use the launch template to create an instance. * After you create a launch template (`CreateLaunchTemplate`), its version number is set to 1 by default. You can create multiple versions (`CreateLaunchTemplateVersion`) for the launch template. Version numbers start from 1 and increment by one. If you do not specify a template version number when you use a launch template to create instances ([RunInstances](~~63440~~)), the default version is used. * When you call this operation, take note of the following items: * * You can create up to 30 launch templates in each region. Each launch template can have up to 30 versions. * * Most parameters in launch templates are optional. When you create a launch template, ECS does not verify the existence or validity of specified parameter values. The validity of the parameter values are verified only when you use the launch template to create instances. * * If you set a specific parameter in a launch template, you cannot filter out this parameter when you use the launch template to create instances ([RunInstances](~~63440~~)). For example, if you set the `HostName` parameter to LocalHost in a launch template and do not set the `HostName` parameter when you call the `RunInstances` operation to create instances from the launch template, the created instance still has a hostname of `LocalHost`. If you want to overwrite the `LocalHost` value of HostName provided by the launch template, you can set `HostName` to MyHost or another value when you call the `RunInstances` operation. * * @param request CreateLaunchTemplateRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateLaunchTemplateResponse */ async createLaunchTemplateWithOptions(request: CreateLaunchTemplateRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.creditSpecification)) { query["CreditSpecification"] = request.creditSpecification; } if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.deletionProtection)) { query["DeletionProtection"] = request.deletionProtection; } if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.enableVmOsConfig)) { query["EnableVmOsConfig"] = request.enableVmOsConfig; } if (!Util.isUnset(request.hostName)) { query["HostName"] = request.hostName; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.imageOwnerAlias)) { query["ImageOwnerAlias"] = request.imageOwnerAlias; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.ipv6AddressCount)) { query["Ipv6AddressCount"] = request.ipv6AddressCount; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.networkInterface)) { query["NetworkInterface"] = request.networkInterface; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.passwordInherit)) { query["PasswordInherit"] = request.passwordInherit; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotPriceLimit)) { query["SpotPriceLimit"] = request.spotPriceLimit; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.templateResourceGroupId)) { query["TemplateResourceGroupId"] = request.templateResourceGroupId; } if (!Util.isUnset(request.templateTag)) { query["TemplateTag"] = request.templateTag; } if (!Util.isUnset(request.userData)) { query["UserData"] = request.userData; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.versionDescription)) { query["VersionDescription"] = request.versionDescription; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateLaunchTemplate", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateLaunchTemplateResponse({})); } /** * ## Description * Launch templates contain preset configurations used to create instances, such as the region, image ID, instance type, security group ID, and public bandwidth settings. If a specific parameter is not included in a launch template, you must manually specify the parameter when you use the launch template to create an instance. * After you create a launch template (`CreateLaunchTemplate`), its version number is set to 1 by default. You can create multiple versions (`CreateLaunchTemplateVersion`) for the launch template. Version numbers start from 1 and increment by one. If you do not specify a template version number when you use a launch template to create instances ([RunInstances](~~63440~~)), the default version is used. * When you call this operation, take note of the following items: * * You can create up to 30 launch templates in each region. Each launch template can have up to 30 versions. * * Most parameters in launch templates are optional. When you create a launch template, ECS does not verify the existence or validity of specified parameter values. The validity of the parameter values are verified only when you use the launch template to create instances. * * If you set a specific parameter in a launch template, you cannot filter out this parameter when you use the launch template to create instances ([RunInstances](~~63440~~)). For example, if you set the `HostName` parameter to LocalHost in a launch template and do not set the `HostName` parameter when you call the `RunInstances` operation to create instances from the launch template, the created instance still has a hostname of `LocalHost`. If you want to overwrite the `LocalHost` value of HostName provided by the launch template, you can set `HostName` to MyHost or another value when you call the `RunInstances` operation. * * @param request CreateLaunchTemplateRequest * @return CreateLaunchTemplateResponse */ async createLaunchTemplate(request: CreateLaunchTemplateRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createLaunchTemplateWithOptions(request, runtime); } /** * If you want to modify the parameters of a launch template version, you can create another version with different parameter settings for the launch template. A maximum of 30 versions can be created for each launch template. * * @param request CreateLaunchTemplateVersionRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateLaunchTemplateVersionResponse */ async createLaunchTemplateVersionWithOptions(request: CreateLaunchTemplateVersionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.creditSpecification)) { query["CreditSpecification"] = request.creditSpecification; } if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.deletionProtection)) { query["DeletionProtection"] = request.deletionProtection; } if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.enableVmOsConfig)) { query["EnableVmOsConfig"] = request.enableVmOsConfig; } if (!Util.isUnset(request.hostName)) { query["HostName"] = request.hostName; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.imageOwnerAlias)) { query["ImageOwnerAlias"] = request.imageOwnerAlias; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.ipv6AddressCount)) { query["Ipv6AddressCount"] = request.ipv6AddressCount; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.networkInterface)) { query["NetworkInterface"] = request.networkInterface; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.passwordInherit)) { query["PasswordInherit"] = request.passwordInherit; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotPriceLimit)) { query["SpotPriceLimit"] = request.spotPriceLimit; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.userData)) { query["UserData"] = request.userData; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.versionDescription)) { query["VersionDescription"] = request.versionDescription; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateLaunchTemplateVersion", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateLaunchTemplateVersionResponse({})); } /** * If you want to modify the parameters of a launch template version, you can create another version with different parameter settings for the launch template. A maximum of 30 versions can be created for each launch template. * * @param request CreateLaunchTemplateVersionRequest * @return CreateLaunchTemplateVersionResponse */ async createLaunchTemplateVersion(request: CreateLaunchTemplateVersionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createLaunchTemplateVersionWithOptions(request, runtime); } /** * @deprecated * * @param request CreateNatGatewayRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateNatGatewayResponse */ // Deprecated async createNatGatewayWithOptions(request: CreateNatGatewayRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidthPackage)) { query["BandwidthPackage"] = request.bandwidthPackage; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateNatGateway", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateNatGatewayResponse({})); } /** * @deprecated * * @param request CreateNatGatewayRequest * @return CreateNatGatewayResponse */ // Deprecated async createNatGateway(request: CreateNatGatewayRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createNatGatewayWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * This operation is a synchronous operation. After an ENI is created, it immediately enters the Available (`Available`) state and can be attached to an Elastic Compute Service (ECS) instance. * * If NetworkInterfaceId is empty in the response, no ENI is created. Call the operation again to create an ENI. * * An ENI can be attached only to a single instance that resides in a virtual private cloud (VPC). * * When an ENI is detached from an instance and attached to another instance, the attributes of the ENI remain unchanged and network traffic is redirected to the new instance. * * When you call this operation to create an ENI, you can assign up to 49 secondary private IP addresses to the ENI. * * If you want to assign IPv6 addresses when you create an ENI, make sure that IPv6 is enabled for the vSwitch with which you want to associate the ENI. For more information, see [What is an IPv6 gateway?](~~98896~~) * * A quota is imposed on the number of ENIs that can be created per Alibaba Cloud region per account. You can view the quota in the ECS console. For more information, see [View and increase resource quotas](~~184115~~). * **For information about examples on how to call this operation, see** [Create an ENI](~~471552~~). * * @param request CreateNetworkInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateNetworkInterfaceResponse */ async createNetworkInterfaceWithOptions(request: CreateNetworkInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.businessType)) { query["BusinessType"] = request.businessType; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.deleteOnRelease)) { query["DeleteOnRelease"] = request.deleteOnRelease; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ipv4Prefix)) { query["Ipv4Prefix"] = request.ipv4Prefix; } if (!Util.isUnset(request.ipv4PrefixCount)) { query["Ipv4PrefixCount"] = request.ipv4PrefixCount; } if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.ipv6AddressCount)) { query["Ipv6AddressCount"] = request.ipv6AddressCount; } if (!Util.isUnset(request.ipv6Prefix)) { query["Ipv6Prefix"] = request.ipv6Prefix; } if (!Util.isUnset(request.ipv6PrefixCount)) { query["Ipv6PrefixCount"] = request.ipv6PrefixCount; } if (!Util.isUnset(request.networkInterfaceName)) { query["NetworkInterfaceName"] = request.networkInterfaceName; } if (!Util.isUnset(request.networkInterfaceTrafficMode)) { query["NetworkInterfaceTrafficMode"] = request.networkInterfaceTrafficMode; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.primaryIpAddress)) { query["PrimaryIpAddress"] = request.primaryIpAddress; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.queueNumber)) { query["QueueNumber"] = request.queueNumber; } if (!Util.isUnset(request.queuePairNumber)) { query["QueuePairNumber"] = request.queuePairNumber; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.rxQueueSize)) { query["RxQueueSize"] = request.rxQueueSize; } if (!Util.isUnset(request.secondaryPrivateIpAddressCount)) { query["SecondaryPrivateIpAddressCount"] = request.secondaryPrivateIpAddressCount; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.txQueueSize)) { query["TxQueueSize"] = request.txQueueSize; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.visible)) { query["Visible"] = request.visible; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateNetworkInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateNetworkInterfaceResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * This operation is a synchronous operation. After an ENI is created, it immediately enters the Available (`Available`) state and can be attached to an Elastic Compute Service (ECS) instance. * * If NetworkInterfaceId is empty in the response, no ENI is created. Call the operation again to create an ENI. * * An ENI can be attached only to a single instance that resides in a virtual private cloud (VPC). * * When an ENI is detached from an instance and attached to another instance, the attributes of the ENI remain unchanged and network traffic is redirected to the new instance. * * When you call this operation to create an ENI, you can assign up to 49 secondary private IP addresses to the ENI. * * If you want to assign IPv6 addresses when you create an ENI, make sure that IPv6 is enabled for the vSwitch with which you want to associate the ENI. For more information, see [What is an IPv6 gateway?](~~98896~~) * * A quota is imposed on the number of ENIs that can be created per Alibaba Cloud region per account. You can view the quota in the ECS console. For more information, see [View and increase resource quotas](~~184115~~). * **For information about examples on how to call this operation, see** [Create an ENI](~~471552~~). * * @param request CreateNetworkInterfaceRequest * @return CreateNetworkInterfaceResponse */ async createNetworkInterface(request: CreateNetworkInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createNetworkInterfaceWithOptions(request, runtime); } async createNetworkInterfacePermissionWithOptions(request: CreateNetworkInterfacePermissionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.accountId)) { query["AccountId"] = request.accountId; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.permission)) { query["Permission"] = request.permission; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateNetworkInterfacePermission", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateNetworkInterfacePermissionResponse({})); } async createNetworkInterfacePermission(request: CreateNetworkInterfacePermissionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createNetworkInterfacePermissionWithOptions(request, runtime); } /** * @deprecated * * @param request CreatePhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return CreatePhysicalConnectionResponse */ // Deprecated async createPhysicalConnectionWithOptions(request: CreatePhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.accessPointId)) { query["AccessPointId"] = request.accessPointId; } if (!Util.isUnset(request.circuitCode)) { query["CircuitCode"] = request.circuitCode; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.lineOperator)) { query["LineOperator"] = request.lineOperator; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.peerLocation)) { query["PeerLocation"] = request.peerLocation; } if (!Util.isUnset(request.portType)) { query["PortType"] = request.portType; } if (!Util.isUnset(request.redundantPhysicalConnectionId)) { query["RedundantPhysicalConnectionId"] = request.redundantPhysicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.bandwidth)) { query["bandwidth"] = request.bandwidth; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreatePhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreatePhysicalConnectionResponse({})); } /** * @deprecated * * @param request CreatePhysicalConnectionRequest * @return CreatePhysicalConnectionResponse */ // Deprecated async createPhysicalConnection(request: CreatePhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createPhysicalConnectionWithOptions(request, runtime); } /** * * A prefix list is a collection of network prefixes (CIDR blocks) and can be referenced to configure network rules for other resources. For more information, see [Overview](~~206223~~). * * When you create a prefix list, take note of the following items: * * You must specify an IP address family (IPv4 or IPv6) for the prefix list, and cannot change the IP address family after the prefix list is created. You cannot combine IPv4 and IPv6 CIDR blocks in a single prefix list. * * You must specify the maximum number of entries that the prefix list can contain. You cannot modify the maximum number of entries after the prefix list is created. * * You can specify entries for the prefix list. Each entry consists of a CIDR block and the description for the CIDR block. The total number of entries cannot exceed the maximum number of entries that you specified. * * For more information about the limits on prefix lists and other resources, see [Limits](~~25412~~). * * You can create Resource Access Management (RAM) users and grant them minimum permissions. This eliminates the need to share the AccessKey pair of your Alibaba Cloud account with other users and reduces security risks for your enterprises. For information about how to grant permissions on prefix lists to RAM users, see [Grant a RAM user permissions on prefix lists](~~206175~~) * * @param request CreatePrefixListRequest * @param runtime runtime options for this request RuntimeOptions * @return CreatePrefixListResponse */ async createPrefixListWithOptions(request: CreatePrefixListRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.addressFamily)) { query["AddressFamily"] = request.addressFamily; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.entry)) { query["Entry"] = request.entry; } if (!Util.isUnset(request.maxEntries)) { query["MaxEntries"] = request.maxEntries; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListName)) { query["PrefixListName"] = request.prefixListName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreatePrefixList", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreatePrefixListResponse({})); } /** * * A prefix list is a collection of network prefixes (CIDR blocks) and can be referenced to configure network rules for other resources. For more information, see [Overview](~~206223~~). * * When you create a prefix list, take note of the following items: * * You must specify an IP address family (IPv4 or IPv6) for the prefix list, and cannot change the IP address family after the prefix list is created. You cannot combine IPv4 and IPv6 CIDR blocks in a single prefix list. * * You must specify the maximum number of entries that the prefix list can contain. You cannot modify the maximum number of entries after the prefix list is created. * * You can specify entries for the prefix list. Each entry consists of a CIDR block and the description for the CIDR block. The total number of entries cannot exceed the maximum number of entries that you specified. * * For more information about the limits on prefix lists and other resources, see [Limits](~~25412~~). * * You can create Resource Access Management (RAM) users and grant them minimum permissions. This eliminates the need to share the AccessKey pair of your Alibaba Cloud account with other users and reduces security risks for your enterprises. For information about how to grant permissions on prefix lists to RAM users, see [Grant a RAM user permissions on prefix lists](~~206175~~) * * @param request CreatePrefixListRequest * @return CreatePrefixListResponse */ async createPrefixList(request: CreatePrefixListRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createPrefixListWithOptions(request, runtime); } /** * @deprecated * * @param request CreateRouteEntryRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateRouteEntryResponse */ // Deprecated async createRouteEntryWithOptions(request: CreateRouteEntryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.destinationCidrBlock)) { query["DestinationCidrBlock"] = request.destinationCidrBlock; } if (!Util.isUnset(request.nextHopId)) { query["NextHopId"] = request.nextHopId; } if (!Util.isUnset(request.nextHopList)) { query["NextHopList"] = request.nextHopList; } if (!Util.isUnset(request.nextHopType)) { query["NextHopType"] = request.nextHopType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routeTableId)) { query["RouteTableId"] = request.routeTableId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateRouteEntry", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateRouteEntryResponse({})); } /** * @deprecated * * @param request CreateRouteEntryRequest * @return CreateRouteEntryResponse */ // Deprecated async createRouteEntry(request: CreateRouteEntryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createRouteEntryWithOptions(request, runtime); } /** * @deprecated * * @param request CreateRouterInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateRouterInterfaceResponse */ // Deprecated async createRouterInterfaceWithOptions(request: CreateRouterInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.accessPointId)) { query["AccessPointId"] = request.accessPointId; } if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.healthCheckSourceIp)) { query["HealthCheckSourceIp"] = request.healthCheckSourceIp; } if (!Util.isUnset(request.healthCheckTargetIp)) { query["HealthCheckTargetIp"] = request.healthCheckTargetIp; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.oppositeAccessPointId)) { query["OppositeAccessPointId"] = request.oppositeAccessPointId; } if (!Util.isUnset(request.oppositeInterfaceId)) { query["OppositeInterfaceId"] = request.oppositeInterfaceId; } if (!Util.isUnset(request.oppositeInterfaceOwnerId)) { query["OppositeInterfaceOwnerId"] = request.oppositeInterfaceOwnerId; } if (!Util.isUnset(request.oppositeRegionId)) { query["OppositeRegionId"] = request.oppositeRegionId; } if (!Util.isUnset(request.oppositeRouterId)) { query["OppositeRouterId"] = request.oppositeRouterId; } if (!Util.isUnset(request.oppositeRouterType)) { query["OppositeRouterType"] = request.oppositeRouterType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.pricingCycle)) { query["PricingCycle"] = request.pricingCycle; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.role)) { query["Role"] = request.role; } if (!Util.isUnset(request.routerId)) { query["RouterId"] = request.routerId; } if (!Util.isUnset(request.routerType)) { query["RouterType"] = request.routerType; } if (!Util.isUnset(request.spec)) { query["Spec"] = request.spec; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateRouterInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateRouterInterfaceResponse({})); } /** * @deprecated * * @param request CreateRouterInterfaceRequest * @return CreateRouterInterfaceResponse */ // Deprecated async createRouterInterface(request: CreateRouterInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createRouterInterfaceWithOptions(request, runtime); } async createSavingsPlanWithOptions(request: CreateSavingsPlanRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.chargeType)) { query["ChargeType"] = request.chargeType; } if (!Util.isUnset(request.committedAmount)) { query["CommittedAmount"] = request.committedAmount; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.planType)) { query["PlanType"] = request.planType; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateSavingsPlan", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateSavingsPlanResponse({})); } async createSavingsPlan(request: CreateSavingsPlanRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createSavingsPlanWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * You can create up to 100 security groups in a single Alibaba Cloud region. * * To create a security group of the Virtual Private Cloud (VPC) type, you must specify the VpcId parameter. * * @param request CreateSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateSecurityGroupResponse */ async createSecurityGroupWithOptions(request: CreateSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupName)) { query["SecurityGroupName"] = request.securityGroupName; } if (!Util.isUnset(request.securityGroupType)) { query["SecurityGroupType"] = request.securityGroupType; } if (!Util.isUnset(request.serviceManaged)) { query["ServiceManaged"] = request.serviceManaged; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateSecurityGroupResponse({})); } /** * When you call this operation, take note of the following items: * * You can create up to 100 security groups in a single Alibaba Cloud region. * * To create a security group of the Virtual Private Cloud (VPC) type, you must specify the VpcId parameter. * * @param request CreateSecurityGroupRequest * @return CreateSecurityGroupResponse */ async createSecurityGroup(request: CreateSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createSecurityGroupWithOptions(request, runtime); } /** * You can use the ECS console, call [ECS API](~~63962~~) operations, or use CloudMonitor to view the scheduled simulated system events. * The following descriptions provide the lifecycle of a simulated system event: * * Scheduled: The state of the simulated system event is automatically changed to Scheduled after it is scheduled. * * Executed: The state of the simulated system event is automatically changed to Executed at the time specified by the NotBefore parameter if no manual intervention is involved. * * Canceled: The state of the simulated system event is changed to Canceled if you cancel the event by calling the [CancelSimulatedSystemEvents](~~88808~~) operation. * * Avoided: The state of the simulated system event generated from maintenance-triggered instance restart can be changed to Avoided if you restart the instance before the scheduled time of the simulated system event. The maintenance-triggered instance restart is indicated by the SystemMaintenance.Reboot value. For more information, see [RebootInstance](~~25502~~). * * @param request CreateSimulatedSystemEventsRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateSimulatedSystemEventsResponse */ async createSimulatedSystemEventsWithOptions(request: CreateSimulatedSystemEventsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.eventType)) { query["EventType"] = request.eventType; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.notBefore)) { query["NotBefore"] = request.notBefore; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateSimulatedSystemEvents", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateSimulatedSystemEventsResponse({})); } /** * You can use the ECS console, call [ECS API](~~63962~~) operations, or use CloudMonitor to view the scheduled simulated system events. * The following descriptions provide the lifecycle of a simulated system event: * * Scheduled: The state of the simulated system event is automatically changed to Scheduled after it is scheduled. * * Executed: The state of the simulated system event is automatically changed to Executed at the time specified by the NotBefore parameter if no manual intervention is involved. * * Canceled: The state of the simulated system event is changed to Canceled if you cancel the event by calling the [CancelSimulatedSystemEvents](~~88808~~) operation. * * Avoided: The state of the simulated system event generated from maintenance-triggered instance restart can be changed to Avoided if you restart the instance before the scheduled time of the simulated system event. The maintenance-triggered instance restart is indicated by the SystemMaintenance.Reboot value. For more information, see [RebootInstance](~~25502~~). * * @param request CreateSimulatedSystemEventsRequest * @return CreateSimulatedSystemEventsResponse */ async createSimulatedSystemEvents(request: CreateSimulatedSystemEventsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createSimulatedSystemEventsWithOptions(request, runtime); } /** * ## [](#)Usage notes * The local snapshot feature is replaced by the instant access feature. Take note of the following items: * * If you have used the local snapshot feature before December 14, 2020, you can use the Category parameter. * * If you have not used the local snapshot feature before December 14, 2020, new snapshots of your enhanced SSDs (ESSDs) at performance levels 0, 1, 2, and 3 (PL0, PL1, PL2, and PL3 ESSDs) and ESSD AutoPL disks are instantly available after creation without the need for additional configurations, regardless of whether the snapshots are manually or automatically created. The InstantAccess, InstantAccessRetentionDays, and DisableInstantAccess parameters in this operation that are related to the instant access feature no longer take effect. Available is added to the response parameters of the DescribeSnapshots and DescribeSnapshotGroup operations to indicate whether the snapshot is available. * In the following scenarios, you cannot create snapshots for a disk: * * The number of manual snapshots of the disk has reached 256. * * A snapshot is being created for the disk. * * The Elastic Compute Service (ECS) instance to which the disk is attached has never been started. * * The ECS instance to which the disk is attached is not in the **Stopped** (`Stopped`) or **Running** (`Running`) state. * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of the instance, the instance is locked for security reasons and all operations are prohibited on it. * When you create a snapshot, take note of the following items: * * If a snapshot is being created, you cannot use this snapshot to create a custom image by calling the [CreateImage](~~25535~~) operation. * * When a snapshot is being created for a disk that is attached to an ECS instance, do not change the instance state. * * You can create snapshots for a disk that is in the **Expired** (`Expired`) state. If the release time scheduled for a disk arrives while a snapshot is being created for the disk, the snapshot is in the **Creating** (`Creating` state and is deleted when the disk is released. * * @param request CreateSnapshotRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateSnapshotResponse */ async createSnapshotWithOptions(request: CreateSnapshotRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.category)) { query["Category"] = request.category; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.instantAccess)) { query["InstantAccess"] = request.instantAccess; } if (!Util.isUnset(request.instantAccessRetentionDays)) { query["InstantAccessRetentionDays"] = request.instantAccessRetentionDays; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.retentionDays)) { query["RetentionDays"] = request.retentionDays; } if (!Util.isUnset(request.snapshotName)) { query["SnapshotName"] = request.snapshotName; } if (!Util.isUnset(request.storageLocationArn)) { query["StorageLocationArn"] = request.storageLocationArn; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateSnapshot", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateSnapshotResponse({})); } /** * ## [](#)Usage notes * The local snapshot feature is replaced by the instant access feature. Take note of the following items: * * If you have used the local snapshot feature before December 14, 2020, you can use the Category parameter. * * If you have not used the local snapshot feature before December 14, 2020, new snapshots of your enhanced SSDs (ESSDs) at performance levels 0, 1, 2, and 3 (PL0, PL1, PL2, and PL3 ESSDs) and ESSD AutoPL disks are instantly available after creation without the need for additional configurations, regardless of whether the snapshots are manually or automatically created. The InstantAccess, InstantAccessRetentionDays, and DisableInstantAccess parameters in this operation that are related to the instant access feature no longer take effect. Available is added to the response parameters of the DescribeSnapshots and DescribeSnapshotGroup operations to indicate whether the snapshot is available. * In the following scenarios, you cannot create snapshots for a disk: * * The number of manual snapshots of the disk has reached 256. * * A snapshot is being created for the disk. * * The Elastic Compute Service (ECS) instance to which the disk is attached has never been started. * * The ECS instance to which the disk is attached is not in the **Stopped** (`Stopped`) or **Running** (`Running`) state. * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of the instance, the instance is locked for security reasons and all operations are prohibited on it. * When you create a snapshot, take note of the following items: * * If a snapshot is being created, you cannot use this snapshot to create a custom image by calling the [CreateImage](~~25535~~) operation. * * When a snapshot is being created for a disk that is attached to an ECS instance, do not change the instance state. * * You can create snapshots for a disk that is in the **Expired** (`Expired`) state. If the release time scheduled for a disk arrives while a snapshot is being created for the disk, the snapshot is in the **Creating** (`Creating` state and is deleted when the disk is released. * * @param request CreateSnapshotRequest * @return CreateSnapshotResponse */ async createSnapshot(request: CreateSnapshotRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createSnapshotWithOptions(request, runtime); } /** * ## [](#)Usage notes * You can specify `InstanceId` to create a snapshot-consistent group for disks on a specific (ECS instance. You can also specify `DiskId.N` to create a snapshot-consistent group for multiple disks on multiple ECS instances within the same zone. * > You cannot specify both `DiskId.N` and `ExcludeDiskId.N` in the same request. If `InstanceId` is specified, you can use `DiskId.N` to specify only disks on the ECS instance specified by InstanceId and cannot use DiskId.N to specify disks across ECS instances. * Take note of the following items: * * The disks for which you want to create a snapshot must be in the **In Use** (`In_use`) or **Unattached** (`Available`) state. * * If a disk is in the **In Use** (`In_use`) state, make sure that the ECS instance to which the disk is attached is in the **Running** (`Running`) or **Stopped** (`Stopped`) state. * * If a disk is in the **Unattached** (`Available`) state, make sure that the disk has been attached to ECS instances. Snapshots cannot be created for disks that have never been attached to an ECS instance. * * Snapshot-consistent groups can be used to create snapshots only for enhanced SSDs (ESSDs). * * A snapshot-consistent group can contain snapshots of up to 16 disks, including system disks and data disks, and cannot exceed 32 TiB in size. * * Snapshots that you created are stored indefinitely until you delete the snapshots. We recommend that you delete unnecessary snapshots on a regular basis to prevent excess snapshot storage fees. * * Snapshot-consistent groups cannot be created for disks for which multi-attach feature is enabled. If disks for which the multi-attach feature is enabled are attached to an ECS instance, specify the `ExcludeDiskId.N` parameter to exclude the disks. * For more information about the snapshot-consistent group feature, see [Create a snapshot-consistent group](~~199625~~). * * @param request CreateSnapshotGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateSnapshotGroupResponse */ async createSnapshotGroupWithOptions(request: CreateSnapshotGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.excludeDiskId)) { query["ExcludeDiskId"] = request.excludeDiskId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instantAccess)) { query["InstantAccess"] = request.instantAccess; } if (!Util.isUnset(request.instantAccessRetentionDays)) { query["InstantAccessRetentionDays"] = request.instantAccessRetentionDays; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageLocationArn)) { query["StorageLocationArn"] = request.storageLocationArn; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateSnapshotGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateSnapshotGroupResponse({})); } /** * ## [](#)Usage notes * You can specify `InstanceId` to create a snapshot-consistent group for disks on a specific (ECS instance. You can also specify `DiskId.N` to create a snapshot-consistent group for multiple disks on multiple ECS instances within the same zone. * > You cannot specify both `DiskId.N` and `ExcludeDiskId.N` in the same request. If `InstanceId` is specified, you can use `DiskId.N` to specify only disks on the ECS instance specified by InstanceId and cannot use DiskId.N to specify disks across ECS instances. * Take note of the following items: * * The disks for which you want to create a snapshot must be in the **In Use** (`In_use`) or **Unattached** (`Available`) state. * * If a disk is in the **In Use** (`In_use`) state, make sure that the ECS instance to which the disk is attached is in the **Running** (`Running`) or **Stopped** (`Stopped`) state. * * If a disk is in the **Unattached** (`Available`) state, make sure that the disk has been attached to ECS instances. Snapshots cannot be created for disks that have never been attached to an ECS instance. * * Snapshot-consistent groups can be used to create snapshots only for enhanced SSDs (ESSDs). * * A snapshot-consistent group can contain snapshots of up to 16 disks, including system disks and data disks, and cannot exceed 32 TiB in size. * * Snapshots that you created are stored indefinitely until you delete the snapshots. We recommend that you delete unnecessary snapshots on a regular basis to prevent excess snapshot storage fees. * * Snapshot-consistent groups cannot be created for disks for which multi-attach feature is enabled. If disks for which the multi-attach feature is enabled are attached to an ECS instance, specify the `ExcludeDiskId.N` parameter to exclude the disks. * For more information about the snapshot-consistent group feature, see [Create a snapshot-consistent group](~~199625~~). * * @param request CreateSnapshotGroupRequest * @return CreateSnapshotGroupResponse */ async createSnapshotGroup(request: CreateSnapshotGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createSnapshotGroupWithOptions(request, runtime); } /** * A storage set can distribute disks or Shared Block Storage devices to different locations. You can specify the number of partitions in a storage set. A larger number of partitions indicate more discrete distribution of disks or Shared Block Storage devices. * When you call this operation, take note of the following items: * * The number of storage sets that you can create in a region is limited. You can call the [DescribeAccountAttributes](~~73772~~) operation to query the limit. * * The number of partitions in a zone is limited. You can call the [DescribeAccountAttributes](~~73772~~) operation to query the limit. * * @param request CreateStorageSetRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateStorageSetResponse */ async createStorageSetWithOptions(request: CreateStorageSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.maxPartitionNumber)) { query["MaxPartitionNumber"] = request.maxPartitionNumber; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageSetName)) { query["StorageSetName"] = request.storageSetName; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateStorageSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateStorageSetResponse({})); } /** * A storage set can distribute disks or Shared Block Storage devices to different locations. You can specify the number of partitions in a storage set. A larger number of partitions indicate more discrete distribution of disks or Shared Block Storage devices. * When you call this operation, take note of the following items: * * The number of storage sets that you can create in a region is limited. You can call the [DescribeAccountAttributes](~~73772~~) operation to query the limit. * * The number of partitions in a zone is limited. You can call the [DescribeAccountAttributes](~~73772~~) operation to query the limit. * * @param request CreateStorageSetRequest * @return CreateStorageSetResponse */ async createStorageSet(request: CreateStorageSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createStorageSetWithOptions(request, runtime); } /** * @deprecated * * @param request CreateVSwitchRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateVSwitchResponse */ // Deprecated async createVSwitchWithOptions(request: CreateVSwitchRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cidrBlock)) { query["CidrBlock"] = request.cidrBlock; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vSwitchName)) { query["VSwitchName"] = request.vSwitchName; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateVSwitch", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateVSwitchResponse({})); } /** * @deprecated * * @param request CreateVSwitchRequest * @return CreateVSwitchResponse */ // Deprecated async createVSwitch(request: CreateVSwitchRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createVSwitchWithOptions(request, runtime); } /** * @deprecated * * @param request CreateVirtualBorderRouterRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateVirtualBorderRouterResponse */ // Deprecated async createVirtualBorderRouterWithOptions(request: CreateVirtualBorderRouterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.circuitCode)) { query["CircuitCode"] = request.circuitCode; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.localGatewayIp)) { query["LocalGatewayIp"] = request.localGatewayIp; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.peerGatewayIp)) { query["PeerGatewayIp"] = request.peerGatewayIp; } if (!Util.isUnset(request.peeringSubnetMask)) { query["PeeringSubnetMask"] = request.peeringSubnetMask; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vbrOwnerId)) { query["VbrOwnerId"] = request.vbrOwnerId; } if (!Util.isUnset(request.vlanId)) { query["VlanId"] = request.vlanId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateVirtualBorderRouter", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateVirtualBorderRouterResponse({})); } /** * @deprecated * * @param request CreateVirtualBorderRouterRequest * @return CreateVirtualBorderRouterResponse */ // Deprecated async createVirtualBorderRouter(request: CreateVirtualBorderRouterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createVirtualBorderRouterWithOptions(request, runtime); } /** * @deprecated : CreateVpc is deprecated, please use Vpc::2016-04-28::CreateVpc instead. * * @param request CreateVpcRequest * @param runtime runtime options for this request RuntimeOptions * @return CreateVpcResponse */ // Deprecated async createVpcWithOptions(request: CreateVpcRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cidrBlock)) { query["CidrBlock"] = request.cidrBlock; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vpcName)) { query["VpcName"] = request.vpcName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "CreateVpc", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new CreateVpcResponse({})); } /** * @deprecated : CreateVpc is deprecated, please use Vpc::2016-04-28::CreateVpc instead. * * @param request CreateVpcRequest * @return CreateVpcResponse */ // Deprecated async createVpc(request: CreateVpcRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.createVpcWithOptions(request, runtime); } /** * @deprecated * * @param request DeactivateRouterInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return DeactivateRouterInterfaceResponse */ // Deprecated async deactivateRouterInterfaceWithOptions(request: DeactivateRouterInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeactivateRouterInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeactivateRouterInterfaceResponse({})); } /** * @deprecated * * @param request DeactivateRouterInterfaceRequest * @return DeactivateRouterInterfaceResponse */ // Deprecated async deactivateRouterInterface(request: DeactivateRouterInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deactivateRouterInterfaceWithOptions(request, runtime); } /** * $.parameters[4].schema.description * * @param request DeleteActivationRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteActivationResponse */ async deleteActivationWithOptions(request: DeleteActivationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.activationId)) { query["ActivationId"] = request.activationId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteActivation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteActivationResponse({})); } /** * $.parameters[4].schema.description * * @param request DeleteActivationRequest * @return DeleteActivationResponse */ async deleteActivation(request: DeleteActivationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteActivationWithOptions(request, runtime); } async deleteAutoProvisioningGroupWithOptions(request: DeleteAutoProvisioningGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupId)) { query["AutoProvisioningGroupId"] = request.autoProvisioningGroupId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.terminateInstances)) { query["TerminateInstances"] = request.terminateInstances; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteAutoProvisioningGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteAutoProvisioningGroupResponse({})); } async deleteAutoProvisioningGroup(request: DeleteAutoProvisioningGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteAutoProvisioningGroupWithOptions(request, runtime); } async deleteAutoSnapshotPolicyWithOptions(request: DeleteAutoSnapshotPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.autoSnapshotPolicyId)) { query["autoSnapshotPolicyId"] = request.autoSnapshotPolicyId; } if (!Util.isUnset(request.regionId)) { query["regionId"] = request.regionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteAutoSnapshotPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteAutoSnapshotPolicyResponse({})); } async deleteAutoSnapshotPolicy(request: DeleteAutoSnapshotPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteAutoSnapshotPolicyWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteBandwidthPackageRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteBandwidthPackageResponse */ // Deprecated async deleteBandwidthPackageWithOptions(request: DeleteBandwidthPackageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidthPackageId)) { query["BandwidthPackageId"] = request.bandwidthPackageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteBandwidthPackage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteBandwidthPackageResponse({})); } /** * @deprecated * * @param request DeleteBandwidthPackageRequest * @return DeleteBandwidthPackageResponse */ // Deprecated async deleteBandwidthPackage(request: DeleteBandwidthPackageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteBandwidthPackageWithOptions(request, runtime); } async deleteCommandWithOptions(request: DeleteCommandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteCommand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteCommandResponse({})); } async deleteCommand(request: DeleteCommandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteCommandWithOptions(request, runtime); } async deleteDedicatedHostClusterWithOptions(request: DeleteDedicatedHostClusterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDedicatedHostCluster", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDedicatedHostClusterResponse({})); } async deleteDedicatedHostCluster(request: DeleteDedicatedHostClusterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDedicatedHostClusterWithOptions(request, runtime); } /** * @deprecated : DeleteDemand is deprecated, please use Ecs::2014-05-26::ReleaseCapacityReservation instead. * > This operation is in internal preview and has not been officially released. We recommend that you avoid using this operation. * * @param request DeleteDemandRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteDemandResponse */ // Deprecated async deleteDemandWithOptions(request: DeleteDemandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.demandId)) { query["DemandId"] = request.demandId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.reason)) { query["Reason"] = request.reason; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDemand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDemandResponse({})); } /** * @deprecated : DeleteDemand is deprecated, please use Ecs::2014-05-26::ReleaseCapacityReservation instead. * > This operation is in internal preview and has not been officially released. We recommend that you avoid using this operation. * * @param request DeleteDemandRequest * @return DeleteDemandResponse */ // Deprecated async deleteDemand(request: DeleteDemandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDemandWithOptions(request, runtime); } async deleteDeploymentSetWithOptions(request: DeleteDeploymentSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDeploymentSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDeploymentSetResponse({})); } async deleteDeploymentSet(request: DeleteDeploymentSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDeploymentSetWithOptions(request, runtime); } async deleteDiagnosticMetricSetsWithOptions(request: DeleteDiagnosticMetricSetsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.metricSetIds)) { query["MetricSetIds"] = request.metricSetIds; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDiagnosticMetricSets", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDiagnosticMetricSetsResponse({})); } async deleteDiagnosticMetricSets(request: DeleteDiagnosticMetricSetsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDiagnosticMetricSetsWithOptions(request, runtime); } /** * You can call this operation to delete the diagnostic reports that are no longer needed. * * @param request DeleteDiagnosticReportsRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteDiagnosticReportsResponse */ async deleteDiagnosticReportsWithOptions(request: DeleteDiagnosticReportsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reportIds)) { query["ReportIds"] = request.reportIds; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDiagnosticReports", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDiagnosticReportsResponse({})); } /** * You can call this operation to delete the diagnostic reports that are no longer needed. * * @param request DeleteDiagnosticReportsRequest * @return DeleteDiagnosticReportsResponse */ async deleteDiagnosticReports(request: DeleteDiagnosticReportsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDiagnosticReportsWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * Manual snapshots of the disk are retained. * * You can call the [ModifyDiskAttribute](~~25517~~) operation to configure whether to retain automatic snapshots of the disk or release the snapshots along with the disk. We recommend that you delete the snapshots that are no longer needed to maintain a sufficient quota for new automatic snapshots. * * The disk must be in the Unattached (Available) state. * * If the specified DiskId parameter does not exist, the request is ignored. * * @param request DeleteDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteDiskResponse */ async deleteDiskWithOptions(request: DeleteDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteDiskResponse({})); } /** * When you call this operation, take note of the following items: * * Manual snapshots of the disk are retained. * * You can call the [ModifyDiskAttribute](~~25517~~) operation to configure whether to retain automatic snapshots of the disk or release the snapshots along with the disk. We recommend that you delete the snapshots that are no longer needed to maintain a sufficient quota for new automatic snapshots. * * The disk must be in the Unattached (Available) state. * * If the specified DiskId parameter does not exist, the request is ignored. * * @param request DeleteDiskRequest * @return DeleteDiskResponse */ async deleteDisk(request: DeleteDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteDiskWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteForwardEntryRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteForwardEntryResponse */ // Deprecated async deleteForwardEntryWithOptions(request: DeleteForwardEntryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.forwardEntryId)) { query["ForwardEntryId"] = request.forwardEntryId; } if (!Util.isUnset(request.forwardTableId)) { query["ForwardTableId"] = request.forwardTableId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteForwardEntry", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteForwardEntryResponse({})); } /** * @deprecated * * @param request DeleteForwardEntryRequest * @return DeleteForwardEntryResponse */ // Deprecated async deleteForwardEntry(request: DeleteForwardEntryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteForwardEntryWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteHaVipRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteHaVipResponse */ // Deprecated async deleteHaVipWithOptions(request: DeleteHaVipRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.haVipId)) { query["HaVipId"] = request.haVipId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteHaVip", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteHaVipResponse({})); } /** * @deprecated * * @param request DeleteHaVipRequest * @return DeleteHaVipResponse */ // Deprecated async deleteHaVip(request: DeleteHaVipRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteHaVipWithOptions(request, runtime); } async deleteHpcClusterWithOptions(request: DeleteHpcClusterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.hpcClusterId)) { query["HpcClusterId"] = request.hpcClusterId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteHpcCluster", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteHpcClusterResponse({})); } async deleteHpcCluster(request: DeleteHpcClusterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteHpcClusterWithOptions(request, runtime); } async deleteImageWithOptions(request: DeleteImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteImageResponse({})); } async deleteImage(request: DeleteImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteImageWithOptions(request, runtime); } /** * Only custom image components can be deleted. * * @param request DeleteImageComponentRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteImageComponentResponse */ async deleteImageComponentWithOptions(request: DeleteImageComponentRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageComponentId)) { query["ImageComponentId"] = request.imageComponentId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteImageComponent", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteImageComponentResponse({})); } /** * Only custom image components can be deleted. * * @param request DeleteImageComponentRequest * @return DeleteImageComponentResponse */ async deleteImageComponent(request: DeleteImageComponentRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteImageComponentWithOptions(request, runtime); } /** * ## Description * If an image build task based on an image template is in the BUILDING, DISTRIBUTING, RELEASING, or CANCELLING state, you cannot delete the template. You can delete the template only when the image build task is in the SUCCESS, FAILED, or CANCELLED state. You can call the DescribeImagePipelineExecutions operation to query the details of an image build task. * * @param request DeleteImagePipelineRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteImagePipelineResponse */ async deleteImagePipelineWithOptions(request: DeleteImagePipelineRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imagePipelineId)) { query["ImagePipelineId"] = request.imagePipelineId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteImagePipeline", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteImagePipelineResponse({})); } /** * ## Description * If an image build task based on an image template is in the BUILDING, DISTRIBUTING, RELEASING, or CANCELLING state, you cannot delete the template. You can delete the template only when the image build task is in the SUCCESS, FAILED, or CANCELLED state. You can call the DescribeImagePipelineExecutions operation to query the details of an image build task. * * @param request DeleteImagePipelineRequest * @return DeleteImagePipelineResponse */ async deleteImagePipeline(request: DeleteImagePipelineRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteImagePipelineWithOptions(request, runtime); } /** * ## [](#)Usage notes * * After an ECS instance is released, all the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. * * When you release an ECS instance, take note of the following items for the disks attached to the instance: * * The disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks after the instance is released. * * The disks for which `DeleteWithInstance` is set to true are released along with the instance. * * For disks for which `DeleteAutoSnapshot` is set to false, the automatic snapshots of the disks are retained after the instance is released. * * For disks for which `DeleteAutoSnapshot` is set to true, the automatic snapshots of the disks are released along with the instance. * * Manual snapshots of the disks are retained. * * If `OperationLocks` in the response contains `"LockReason" : "security"` when you query the information of the instance, the instance is locked for security reasons. In this case, even if `DeleteWithInstance` is set to `false` for the disks that are attached to the instance, the system ignores the DeleteWithInstance value and releases the disks along with the instance. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request DeleteInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteInstanceResponse */ async deleteInstanceWithOptions(request: DeleteInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.terminateSubscription)) { query["TerminateSubscription"] = request.terminateSubscription; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteInstanceResponse({})); } /** * ## [](#)Usage notes * * After an ECS instance is released, all the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. * * When you release an ECS instance, take note of the following items for the disks attached to the instance: * * The disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks after the instance is released. * * The disks for which `DeleteWithInstance` is set to true are released along with the instance. * * For disks for which `DeleteAutoSnapshot` is set to false, the automatic snapshots of the disks are retained after the instance is released. * * For disks for which `DeleteAutoSnapshot` is set to true, the automatic snapshots of the disks are released along with the instance. * * Manual snapshots of the disks are retained. * * If `OperationLocks` in the response contains `"LockReason" : "security"` when you query the information of the instance, the instance is locked for security reasons. In this case, even if `DeleteWithInstance` is set to `false` for the disks that are attached to the instance, the system ignores the DeleteWithInstance value and releases the disks along with the instance. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request DeleteInstanceRequest * @return DeleteInstanceResponse */ async deleteInstance(request: DeleteInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteInstanceWithOptions(request, runtime); } /** * * After an Elastic Compute Service (ECS) instance is released, all the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. * * Disks attached to the instance: * * The disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks. * * The disks for which `DeleteWithInstance` is set to true are released together with the instance. * * For disks for which `DeleteAutoSnapshot` is set to false, the automatic snapshots of the disks are retained. * * For disks for which `DeleteAutoSnapshot` is set to true, the automatic snapshots of the disks are released. * * Manual snapshots of the disks are retained. * * If `OperationLocks` in the response contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). Even if `DeleteWithInstance` is set to `false` for the data disks that are attached to the instance, this parameter is ignored and the data disks are released along with the instance. * * @param request DeleteInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteInstancesResponse */ async deleteInstancesWithOptions(request: DeleteInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.terminateSubscription)) { query["TerminateSubscription"] = request.terminateSubscription; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteInstancesResponse({})); } /** * * After an Elastic Compute Service (ECS) instance is released, all the physical resources used by the instance are recycled. Relevant data is erased and cannot be restored. * * Disks attached to the instance: * * The disks for which `DeleteWithInstance` is set to false are retained as pay-as-you-go disks. * * The disks for which `DeleteWithInstance` is set to true are released together with the instance. * * For disks for which `DeleteAutoSnapshot` is set to false, the automatic snapshots of the disks are retained. * * For disks for which `DeleteAutoSnapshot` is set to true, the automatic snapshots of the disks are released. * * Manual snapshots of the disks are retained. * * If `OperationLocks` in the response contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). Even if `DeleteWithInstance` is set to `false` for the data disks that are attached to the instance, this parameter is ignored and the data disks are released along with the instance. * * @param request DeleteInstancesRequest * @return DeleteInstancesResponse */ async deleteInstances(request: DeleteInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteInstancesWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * After an SSH key pair is deleted, you cannot query the SSH key pair by calling the [DescribeKeyPairs](~~51773~~) operation. * * If an SSH key pair is bound to one or more Elastic Compute Service (ECS) instances, the SSH key pair cannot be deleted. * * @param request DeleteKeyPairsRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteKeyPairsResponse */ async deleteKeyPairsWithOptions(request: DeleteKeyPairsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.keyPairNames)) { query["KeyPairNames"] = request.keyPairNames; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteKeyPairs", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteKeyPairsResponse({})); } /** * When you call this operation, take note of the following items: * * After an SSH key pair is deleted, you cannot query the SSH key pair by calling the [DescribeKeyPairs](~~51773~~) operation. * * If an SSH key pair is bound to one or more Elastic Compute Service (ECS) instances, the SSH key pair cannot be deleted. * * @param request DeleteKeyPairsRequest * @return DeleteKeyPairsResponse */ async deleteKeyPairs(request: DeleteKeyPairsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteKeyPairsWithOptions(request, runtime); } async deleteLaunchTemplateWithOptions(request: DeleteLaunchTemplateRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteLaunchTemplate", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteLaunchTemplateResponse({})); } async deleteLaunchTemplate(request: DeleteLaunchTemplateRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteLaunchTemplateWithOptions(request, runtime); } async deleteLaunchTemplateVersionWithOptions(request: DeleteLaunchTemplateVersionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deleteVersion)) { query["DeleteVersion"] = request.deleteVersion; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteLaunchTemplateVersion", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteLaunchTemplateVersionResponse({})); } async deleteLaunchTemplateVersion(request: DeleteLaunchTemplateVersionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteLaunchTemplateVersionWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteNatGatewayRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteNatGatewayResponse */ // Deprecated async deleteNatGatewayWithOptions(request: DeleteNatGatewayRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.natGatewayId)) { query["NatGatewayId"] = request.natGatewayId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteNatGateway", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteNatGatewayResponse({})); } /** * @deprecated * * @param request DeleteNatGatewayRequest * @return DeleteNatGatewayResponse */ // Deprecated async deleteNatGateway(request: DeleteNatGatewayRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteNatGatewayWithOptions(request, runtime); } /** * Take note of the following items: * * The ENI to be deleted must be in the Available state. * * If the ENI to be deleted is attached to an Elastic Compute Service (ECS) instance, you must detach the ENI from the instance before you can delete the ENI. To detach the ENI, you can call the [DetachNetworkInterface](~~58514~~) operation. * * After an ENI is deleted, the following situations occur: * * All private IP addresses (including primary and secondary private IP addresses) of the ENI are automatically released. * * The ENI is automatically removed from all security groups. * * The DeleteNetworkInterface operation is an asynchronous operation. After this operation is called to delete an ENI, you can check the status or events of the ENI to determine whether the ENI is deleted. The following figure shows the transitions between the states of the ENI.![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221208/xual/DeleteNetworkInterface.jpg) * * If the ENI is in the Deleting state, the ENI deletion request is sent and the ENI is being deleted. * * If the ENI is not found, the ENI is deleted. * * If the ENI is stuck in the Deleting state, the ENI fails to be deleted. You can re-initiate the request to delete the ENI. * **For information about examples on how to call the DeleteNetworkInterface operation, see **[Delete an ENI](~~471553~~). * * @param request DeleteNetworkInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteNetworkInterfaceResponse */ async deleteNetworkInterfaceWithOptions(request: DeleteNetworkInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteNetworkInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteNetworkInterfaceResponse({})); } /** * Take note of the following items: * * The ENI to be deleted must be in the Available state. * * If the ENI to be deleted is attached to an Elastic Compute Service (ECS) instance, you must detach the ENI from the instance before you can delete the ENI. To detach the ENI, you can call the [DetachNetworkInterface](~~58514~~) operation. * * After an ENI is deleted, the following situations occur: * * All private IP addresses (including primary and secondary private IP addresses) of the ENI are automatically released. * * The ENI is automatically removed from all security groups. * * The DeleteNetworkInterface operation is an asynchronous operation. After this operation is called to delete an ENI, you can check the status or events of the ENI to determine whether the ENI is deleted. The following figure shows the transitions between the states of the ENI.![](https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221208/xual/DeleteNetworkInterface.jpg) * * If the ENI is in the Deleting state, the ENI deletion request is sent and the ENI is being deleted. * * If the ENI is not found, the ENI is deleted. * * If the ENI is stuck in the Deleting state, the ENI fails to be deleted. You can re-initiate the request to delete the ENI. * **For information about examples on how to call the DeleteNetworkInterface operation, see **[Delete an ENI](~~471553~~). * * @param request DeleteNetworkInterfaceRequest * @return DeleteNetworkInterfaceResponse */ async deleteNetworkInterface(request: DeleteNetworkInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteNetworkInterfaceWithOptions(request, runtime); } /** * @deprecated : DeleteNetworkInterfacePermission is deprecated, please use Ecs::2014-05-26::DeleteNetworkInterface instead. * * @param request DeleteNetworkInterfacePermissionRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteNetworkInterfacePermissionResponse */ // Deprecated async deleteNetworkInterfacePermissionWithOptions(request: DeleteNetworkInterfacePermissionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.networkInterfacePermissionId)) { query["NetworkInterfacePermissionId"] = request.networkInterfacePermissionId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteNetworkInterfacePermission", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteNetworkInterfacePermissionResponse({})); } /** * @deprecated : DeleteNetworkInterfacePermission is deprecated, please use Ecs::2014-05-26::DeleteNetworkInterface instead. * * @param request DeleteNetworkInterfacePermissionRequest * @return DeleteNetworkInterfacePermissionResponse */ // Deprecated async deleteNetworkInterfacePermission(request: DeleteNetworkInterfacePermissionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteNetworkInterfacePermissionWithOptions(request, runtime); } /** * @deprecated * * @param request DeletePhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return DeletePhysicalConnectionResponse */ // Deprecated async deletePhysicalConnectionWithOptions(request: DeletePhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeletePhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeletePhysicalConnectionResponse({})); } /** * @deprecated * * @param request DeletePhysicalConnectionRequest * @return DeletePhysicalConnectionResponse */ // Deprecated async deletePhysicalConnection(request: DeletePhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deletePhysicalConnectionWithOptions(request, runtime); } /** * If a prefix list is associated with resources, you cannot delete the prefix list. You must disassociate the prefix list from the resources before you delete the prefix list. You can call the [DescribePrefixListAssociations](~~204724~~) operation to query resources that are associated with a specific prefix list. * * @param request DeletePrefixListRequest * @param runtime runtime options for this request RuntimeOptions * @return DeletePrefixListResponse */ async deletePrefixListWithOptions(request: DeletePrefixListRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListId)) { query["PrefixListId"] = request.prefixListId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeletePrefixList", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeletePrefixListResponse({})); } /** * If a prefix list is associated with resources, you cannot delete the prefix list. You must disassociate the prefix list from the resources before you delete the prefix list. You can call the [DescribePrefixListAssociations](~~204724~~) operation to query resources that are associated with a specific prefix list. * * @param request DeletePrefixListRequest * @return DeletePrefixListResponse */ async deletePrefixList(request: DeletePrefixListRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deletePrefixListWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteRouteEntryRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteRouteEntryResponse */ // Deprecated async deleteRouteEntryWithOptions(request: DeleteRouteEntryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.destinationCidrBlock)) { query["DestinationCidrBlock"] = request.destinationCidrBlock; } if (!Util.isUnset(request.nextHopId)) { query["NextHopId"] = request.nextHopId; } if (!Util.isUnset(request.nextHopList)) { query["NextHopList"] = request.nextHopList; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routeTableId)) { query["RouteTableId"] = request.routeTableId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteRouteEntry", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteRouteEntryResponse({})); } /** * @deprecated * * @param request DeleteRouteEntryRequest * @return DeleteRouteEntryResponse */ // Deprecated async deleteRouteEntry(request: DeleteRouteEntryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteRouteEntryWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteRouterInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteRouterInterfaceResponse */ // Deprecated async deleteRouterInterfaceWithOptions(request: DeleteRouterInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteRouterInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteRouterInterfaceResponse({})); } /** * @deprecated * * @param request DeleteRouterInterfaceRequest * @return DeleteRouterInterfaceResponse */ // Deprecated async deleteRouterInterface(request: DeleteRouterInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteRouterInterfaceWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * Before you delete a security group, make sure that the security group does not contain instances and is not referenced by other security groups. Otherwise, the DeleteSecurityGroup request fails. You can call the [DescribeSecurityGroupReferences](~~57320~~) operation to query the reference details of the security group. * * If the InvalidOperation.DeletionProtection error code is returned when you call the DeleteSecurityGroup operation to delete a security group or if a deletion protection-related message appears when you delete a security group in the Elastic Compute Service (ECS) console, the deletion protection feature is enabled for the security group. When you create a Container Service for Kubernetes (ACK) cluster, the deletion protection feature is enabled for an associated security group to prevent accidental deletion. You cannot manually disable the deletion protection feature for the security group. The deletion protection feature can be automatically disabled only after the ACK cluster is deleted. For more information, see [Disable deletion protection for a security group](~~353191~~). * * @param request DeleteSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteSecurityGroupResponse */ async deleteSecurityGroupWithOptions(request: DeleteSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteSecurityGroupResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * Before you delete a security group, make sure that the security group does not contain instances and is not referenced by other security groups. Otherwise, the DeleteSecurityGroup request fails. You can call the [DescribeSecurityGroupReferences](~~57320~~) operation to query the reference details of the security group. * * If the InvalidOperation.DeletionProtection error code is returned when you call the DeleteSecurityGroup operation to delete a security group or if a deletion protection-related message appears when you delete a security group in the Elastic Compute Service (ECS) console, the deletion protection feature is enabled for the security group. When you create a Container Service for Kubernetes (ACK) cluster, the deletion protection feature is enabled for an associated security group to prevent accidental deletion. You cannot manually disable the deletion protection feature for the security group. The deletion protection feature can be automatically disabled only after the ACK cluster is deleted. For more information, see [Disable deletion protection for a security group](~~353191~~). * * @param request DeleteSecurityGroupRequest * @return DeleteSecurityGroupResponse */ async deleteSecurityGroup(request: DeleteSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteSecurityGroupWithOptions(request, runtime); } /** * Take note of the following items: * * If the snapshot does not exist, the request is ignored. * * If the snapshot has been used to create custom images, the snapshot cannot be deleted. You need to call the [DeleteImage](~~25537~~) operation to delete the custom images before you can delete the snapshot. * * If the snapshot has been used to create disks and `Force` is not specified or is set to `false`, the snapshot cannot be deleted directly. If you want to delete the snapshot, set `Force` to true to forcibly delete the snapshot. The disks created from the snapshot cannot be re-initialized after the snapshot is forcibly deleted. * * @param request DeleteSnapshotRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteSnapshotResponse */ async deleteSnapshotWithOptions(request: DeleteSnapshotRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteSnapshot", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteSnapshotResponse({})); } /** * Take note of the following items: * * If the snapshot does not exist, the request is ignored. * * If the snapshot has been used to create custom images, the snapshot cannot be deleted. You need to call the [DeleteImage](~~25537~~) operation to delete the custom images before you can delete the snapshot. * * If the snapshot has been used to create disks and `Force` is not specified or is set to `false`, the snapshot cannot be deleted directly. If you want to delete the snapshot, set `Force` to true to forcibly delete the snapshot. The disks created from the snapshot cannot be re-initialized after the snapshot is forcibly deleted. * * @param request DeleteSnapshotRequest * @return DeleteSnapshotResponse */ async deleteSnapshot(request: DeleteSnapshotRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteSnapshotWithOptions(request, runtime); } /** * If you have custom images that were created from a disk snapshot contained in a snapshot-consistent group, the disk snapshot is retained when the snapshot-consistent group is deleted. Before you can delete the disk snapshot, you must call the [DeleteImage](~~25537~~) operation to delete the custom images. After the custom images are deleted, you can call the [DeleteSnapshot](~~25525~~) operation to delete the disk snapshot. * * @param request DeleteSnapshotGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteSnapshotGroupResponse */ async deleteSnapshotGroupWithOptions(request: DeleteSnapshotGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotGroupId)) { query["SnapshotGroupId"] = request.snapshotGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteSnapshotGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteSnapshotGroupResponse({})); } /** * If you have custom images that were created from a disk snapshot contained in a snapshot-consistent group, the disk snapshot is retained when the snapshot-consistent group is deleted. Before you can delete the disk snapshot, you must call the [DeleteImage](~~25537~~) operation to delete the custom images. After the custom images are deleted, you can call the [DeleteSnapshot](~~25525~~) operation to delete the disk snapshot. * * @param request DeleteSnapshotGroupRequest * @return DeleteSnapshotGroupResponse */ async deleteSnapshotGroup(request: DeleteSnapshotGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteSnapshotGroupWithOptions(request, runtime); } async deleteStorageSetWithOptions(request: DeleteStorageSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteStorageSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteStorageSetResponse({})); } async deleteStorageSet(request: DeleteStorageSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteStorageSetWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteVSwitchRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteVSwitchResponse */ // Deprecated async deleteVSwitchWithOptions(request: DeleteVSwitchRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteVSwitch", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteVSwitchResponse({})); } /** * @deprecated * * @param request DeleteVSwitchRequest * @return DeleteVSwitchResponse */ // Deprecated async deleteVSwitch(request: DeleteVSwitchRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteVSwitchWithOptions(request, runtime); } /** * @deprecated * * @param request DeleteVirtualBorderRouterRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteVirtualBorderRouterResponse */ // Deprecated async deleteVirtualBorderRouterWithOptions(request: DeleteVirtualBorderRouterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vbrId)) { query["VbrId"] = request.vbrId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteVirtualBorderRouter", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteVirtualBorderRouterResponse({})); } /** * @deprecated * * @param request DeleteVirtualBorderRouterRequest * @return DeleteVirtualBorderRouterResponse */ // Deprecated async deleteVirtualBorderRouter(request: DeleteVirtualBorderRouterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteVirtualBorderRouterWithOptions(request, runtime); } /** * @deprecated : DeleteVpc is deprecated, please use Vpc::2016-04-28::DeleteVpc instead. * * @param request DeleteVpcRequest * @param runtime runtime options for this request RuntimeOptions * @return DeleteVpcResponse */ // Deprecated async deleteVpcWithOptions(request: DeleteVpcRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeleteVpc", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeleteVpcResponse({})); } /** * @deprecated : DeleteVpc is deprecated, please use Vpc::2016-04-28::DeleteVpc instead. * * @param request DeleteVpcRequest * @return DeleteVpcResponse */ // Deprecated async deleteVpc(request: DeleteVpcRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deleteVpcWithOptions(request, runtime); } async deregisterManagedInstanceWithOptions(request: DeregisterManagedInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DeregisterManagedInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DeregisterManagedInstanceResponse({})); } async deregisterManagedInstance(request: DeregisterManagedInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.deregisterManagedInstanceWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeAccessPointsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeAccessPointsResponse */ // Deprecated async describeAccessPointsWithOptions(request: DescribeAccessPointsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAccessPoints", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAccessPointsResponse({})); } /** * @deprecated * * @param request DescribeAccessPointsRequest * @return DescribeAccessPointsResponse */ // Deprecated async describeAccessPoints(request: DescribeAccessPointsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAccessPointsWithOptions(request, runtime); } /** * After you [create](https://account.alibabacloud.com/register/intl_register.htm) an Alibaba Cloud account, you can create a specific number of ECS instances in different regions within the account. For more information, see [Limits](~~25412~~). * You can apply for a quota increase in the [Quota Center console](https://quotas.console.aliyun.com/products). * * @param request DescribeAccountAttributesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeAccountAttributesResponse */ async describeAccountAttributesWithOptions(request: DescribeAccountAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.attributeName)) { query["AttributeName"] = request.attributeName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAccountAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAccountAttributesResponse({})); } /** * After you [create](https://account.alibabacloud.com/register/intl_register.htm) an Alibaba Cloud account, you can create a specific number of ECS instances in different regions within the account. For more information, see [Limits](~~25412~~). * You can apply for a quota increase in the [Quota Center console](https://quotas.console.aliyun.com/products). * * @param request DescribeAccountAttributesRequest * @return DescribeAccountAttributesResponse */ async describeAccountAttributes(request: DescribeAccountAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAccountAttributesWithOptions(request, runtime); } /** * You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeActivations operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeActivations operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeActivationsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeActivationsResponse */ async describeActivationsWithOptions(request: DescribeActivationsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.activationId)) { query["ActivationId"] = request.activationId; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeActivations", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeActivationsResponse({})); } /** * You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeActivations operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeActivations operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeActivationsRequest * @return DescribeActivationsResponse */ async describeActivations(request: DescribeActivationsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeActivationsWithOptions(request, runtime); } async describeAutoProvisioningGroupHistoryWithOptions(request: DescribeAutoProvisioningGroupHistoryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupId)) { query["AutoProvisioningGroupId"] = request.autoProvisioningGroupId; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAutoProvisioningGroupHistory", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAutoProvisioningGroupHistoryResponse({})); } async describeAutoProvisioningGroupHistory(request: DescribeAutoProvisioningGroupHistoryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAutoProvisioningGroupHistoryWithOptions(request, runtime); } async describeAutoProvisioningGroupInstancesWithOptions(request: DescribeAutoProvisioningGroupInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupId)) { query["AutoProvisioningGroupId"] = request.autoProvisioningGroupId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAutoProvisioningGroupInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAutoProvisioningGroupInstancesResponse({})); } async describeAutoProvisioningGroupInstances(request: DescribeAutoProvisioningGroupInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAutoProvisioningGroupInstancesWithOptions(request, runtime); } async describeAutoProvisioningGroupsWithOptions(request: DescribeAutoProvisioningGroupsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupId)) { query["AutoProvisioningGroupId"] = request.autoProvisioningGroupId; } if (!Util.isUnset(request.autoProvisioningGroupName)) { query["AutoProvisioningGroupName"] = request.autoProvisioningGroupName; } if (!Util.isUnset(request.autoProvisioningGroupStatus)) { query["AutoProvisioningGroupStatus"] = request.autoProvisioningGroupStatus; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAutoProvisioningGroups", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAutoProvisioningGroupsResponse({})); } async describeAutoProvisioningGroups(request: DescribeAutoProvisioningGroupsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAutoProvisioningGroupsWithOptions(request, runtime); } async describeAutoSnapshotPolicyExWithOptions(request: DescribeAutoSnapshotPolicyExRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoSnapshotPolicyId)) { query["AutoSnapshotPolicyId"] = request.autoSnapshotPolicyId; } if (!Util.isUnset(request.autoSnapshotPolicyName)) { query["AutoSnapshotPolicyName"] = request.autoSnapshotPolicyName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAutoSnapshotPolicyEx", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAutoSnapshotPolicyExResponse({})); } async describeAutoSnapshotPolicyEx(request: DescribeAutoSnapshotPolicyExRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAutoSnapshotPolicyExWithOptions(request, runtime); } /** * The value of the `DestinationResource` parameter determines whether you need to specify additional parameters. The following sequence provides the order by which resources are filtered. You cannot query a higher order resource by specifying a lower order resource. * * Sequence: `Zone > IoOptimized > InstanceType = Network = ddh > SystemDisk > DataDisk` * * Examples: * * If you set `DestinationResource` to `DataDisk`, you must specify the `InstanceType` parameter or set the `ResourceType` parameter to `disk`. * * If you set `DestinationResource` to `SystemDisk`, you must specify the `InstanceType` parameter. * * If you set `DestinationResource` to `InstanceType`, you must specify the `IoOptimized` and `InstanceType` parameters. * * If you want to query available ecs.g5.large resources in all zones of the China (Hangzhou) region, you must set RegionId to cn-hangzhou, DestinationResource to InstanceType, IoOptimized to optimized, and InstanceType to ecs.g5.large.`` * * If you want to query the zones where ecs.g5.large resources are available in the China (Hangzhou) region, you must set RegionId to cn-hangzhou, DestinationResource to Zone, IoOptimized to optimized, and InstanceType to ecs.g5.large.`` * * @param request DescribeAvailableResourceRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeAvailableResourceResponse */ async describeAvailableResourceWithOptions(request: DescribeAvailableResourceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cores)) { query["Cores"] = request.cores; } if (!Util.isUnset(request.dataDiskCategory)) { query["DataDiskCategory"] = request.dataDiskCategory; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.destinationResource)) { query["DestinationResource"] = request.destinationResource; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.memory)) { query["Memory"] = request.memory; } if (!Util.isUnset(request.networkCategory)) { query["NetworkCategory"] = request.networkCategory; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.scope)) { query["Scope"] = request.scope; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.systemDiskCategory)) { query["SystemDiskCategory"] = request.systemDiskCategory; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeAvailableResource", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeAvailableResourceResponse({})); } /** * The value of the `DestinationResource` parameter determines whether you need to specify additional parameters. The following sequence provides the order by which resources are filtered. You cannot query a higher order resource by specifying a lower order resource. * * Sequence: `Zone > IoOptimized > InstanceType = Network = ddh > SystemDisk > DataDisk` * * Examples: * * If you set `DestinationResource` to `DataDisk`, you must specify the `InstanceType` parameter or set the `ResourceType` parameter to `disk`. * * If you set `DestinationResource` to `SystemDisk`, you must specify the `InstanceType` parameter. * * If you set `DestinationResource` to `InstanceType`, you must specify the `IoOptimized` and `InstanceType` parameters. * * If you want to query available ecs.g5.large resources in all zones of the China (Hangzhou) region, you must set RegionId to cn-hangzhou, DestinationResource to InstanceType, IoOptimized to optimized, and InstanceType to ecs.g5.large.`` * * If you want to query the zones where ecs.g5.large resources are available in the China (Hangzhou) region, you must set RegionId to cn-hangzhou, DestinationResource to Zone, IoOptimized to optimized, and InstanceType to ecs.g5.large.`` * * @param request DescribeAvailableResourceRequest * @return DescribeAvailableResourceResponse */ async describeAvailableResource(request: DescribeAvailableResourceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeAvailableResourceWithOptions(request, runtime); } async describeBandwidthLimitationWithOptions(request: DescribeBandwidthLimitationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.operationType)) { query["OperationType"] = request.operationType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeBandwidthLimitation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeBandwidthLimitationResponse({})); } async describeBandwidthLimitation(request: DescribeBandwidthLimitationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeBandwidthLimitationWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeBandwidthPackagesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeBandwidthPackagesResponse */ // Deprecated async describeBandwidthPackagesWithOptions(request: DescribeBandwidthPackagesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidthPackageId)) { query["BandwidthPackageId"] = request.bandwidthPackageId; } if (!Util.isUnset(request.natGatewayId)) { query["NatGatewayId"] = request.natGatewayId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeBandwidthPackages", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeBandwidthPackagesResponse({})); } /** * @deprecated * * @param request DescribeBandwidthPackagesRequest * @return DescribeBandwidthPackagesResponse */ // Deprecated async describeBandwidthPackages(request: DescribeBandwidthPackagesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeBandwidthPackagesWithOptions(request, runtime); } async describeCapacityReservationInstancesWithOptions(request: DescribeCapacityReservationInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeCapacityReservationInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeCapacityReservationInstancesResponse({})); } async describeCapacityReservationInstances(request: DescribeCapacityReservationInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeCapacityReservationInstancesWithOptions(request, runtime); } async describeCapacityReservationsWithOptions(request: DescribeCapacityReservationsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeCapacityReservations", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeCapacityReservationsResponse({})); } async describeCapacityReservations(request: DescribeCapacityReservationsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeCapacityReservationsWithOptions(request, runtime); } /** * Take note of the following items: * * This operation applies only to instances that reside in the classic network. * * You can query a maximum of 100 instances that reside in the classic network at a time. * * At least one of the `VpcId` and `InstanceId` parameters must be configured. * * @param request DescribeClassicLinkInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeClassicLinkInstancesResponse */ async describeClassicLinkInstancesWithOptions(request: DescribeClassicLinkInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeClassicLinkInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeClassicLinkInstancesResponse({})); } /** * Take note of the following items: * * This operation applies only to instances that reside in the classic network. * * You can query a maximum of 100 instances that reside in the classic network at a time. * * At least one of the `VpcId` and `InstanceId` parameters must be configured. * * @param request DescribeClassicLinkInstancesRequest * @return DescribeClassicLinkInstancesResponse */ async describeClassicLinkInstances(request: DescribeClassicLinkInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeClassicLinkInstancesWithOptions(request, runtime); } async describeCloudAssistantSettingsWithOptions(request: DescribeCloudAssistantSettingsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.settingType)) { query["SettingType"] = request.settingType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeCloudAssistantSettings", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeCloudAssistantSettingsResponse({})); } async describeCloudAssistantSettings(request: DescribeCloudAssistantSettingsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeCloudAssistantSettingsWithOptions(request, runtime); } /** * - Before you run commands on or send files to instances, especially new instances, we recommend that you query the status of Cloud Assistant on the instances by calling this operation and checking the return value of CloudAssistantStatus. Run commands on or send files to the instances only when the return value is true. * - You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeCloudAssistantStatus operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeCloudAssistantStatus operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeCloudAssistantStatusRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeCloudAssistantStatusResponse */ async describeCloudAssistantStatusWithOptions(request: DescribeCloudAssistantStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.OSType)) { query["OSType"] = request.OSType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeCloudAssistantStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeCloudAssistantStatusResponse({})); } /** * - Before you run commands on or send files to instances, especially new instances, we recommend that you query the status of Cloud Assistant on the instances by calling this operation and checking the return value of CloudAssistantStatus. Run commands on or send files to the instances only when the return value is true. * - You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeCloudAssistantStatus operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeCloudAssistantStatus operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeCloudAssistantStatusRequest * @return DescribeCloudAssistantStatusResponse */ async describeCloudAssistantStatus(request: DescribeCloudAssistantStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeCloudAssistantStatusWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeClustersRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeClustersResponse */ // Deprecated async describeClustersWithOptions(request: DescribeClustersRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeClusters", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeClustersResponse({})); } /** * @deprecated * * @param request DescribeClustersRequest * @return DescribeClustersResponse */ // Deprecated async describeClusters(request: DescribeClustersRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeClustersWithOptions(request, runtime); } /** * If you specify only the `Action` and `RegionId` parameters, all the available commands (`CommandId`) that you created in the specified region are queried by default. * You can use one of the following methods to check the responses: * - Method 1: During a paged query, when you call the DescribeCommands operation to retrieve the first page of results, set MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeCommands operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeCommandsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeCommandsResponse */ async describeCommandsWithOptions(request: DescribeCommandsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.latest)) { query["Latest"] = request.latest; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.provider)) { query["Provider"] = request.provider; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeCommands", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeCommandsResponse({})); } /** * If you specify only the `Action` and `RegionId` parameters, all the available commands (`CommandId`) that you created in the specified region are queried by default. * You can use one of the following methods to check the responses: * - Method 1: During a paged query, when you call the DescribeCommands operation to retrieve the first page of results, set MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeCommands operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeCommandsRequest * @return DescribeCommandsResponse */ async describeCommands(request: DescribeCommandsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeCommandsWithOptions(request, runtime); } async describeDedicatedHostAutoRenewWithOptions(request: DescribeDedicatedHostAutoRenewRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostIds)) { query["DedicatedHostIds"] = request.dedicatedHostIds; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDedicatedHostAutoRenew", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDedicatedHostAutoRenewResponse({})); } async describeDedicatedHostAutoRenew(request: DescribeDedicatedHostAutoRenewRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDedicatedHostAutoRenewWithOptions(request, runtime); } /** * You can specify multiple request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if `DedicatedHostClusterIds` is set to an empty JSON array (`[]`), it is regarded as a valid filter condition and an empty result is returned. * * @param request DescribeDedicatedHostClustersRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDedicatedHostClustersResponse */ async describeDedicatedHostClustersWithOptions(request: DescribeDedicatedHostClustersRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostClusterIds)) { query["DedicatedHostClusterIds"] = request.dedicatedHostClusterIds; } if (!Util.isUnset(request.dedicatedHostClusterName)) { query["DedicatedHostClusterName"] = request.dedicatedHostClusterName; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDedicatedHostClusters", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDedicatedHostClustersResponse({})); } /** * You can specify multiple request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if `DedicatedHostClusterIds` is set to an empty JSON array (`[]`), it is regarded as a valid filter condition and an empty result is returned. * * @param request DescribeDedicatedHostClustersRequest * @return DescribeDedicatedHostClustersResponse */ async describeDedicatedHostClusters(request: DescribeDedicatedHostClustersRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDedicatedHostClustersWithOptions(request, runtime); } async describeDedicatedHostTypesWithOptions(request: DescribeDedicatedHostTypesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostType)) { query["DedicatedHostType"] = request.dedicatedHostType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.supportedInstanceTypeFamily)) { query["SupportedInstanceTypeFamily"] = request.supportedInstanceTypeFamily; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDedicatedHostTypes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDedicatedHostTypesResponse({})); } async describeDedicatedHostTypes(request: DescribeDedicatedHostTypesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDedicatedHostTypesWithOptions(request, runtime); } /** * You can use one of the following methods to query the information about dedicated hosts: * * Specify `DedicatedHostIds` to query the details of specified dedicated hosts. * * Specify `DedicatedHostClusterId` to query the details of the dedicated hosts in a dedicated host cluster. * * @param request DescribeDedicatedHostsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDedicatedHostsResponse */ async describeDedicatedHostsWithOptions(request: DescribeDedicatedHostsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.dedicatedHostIds)) { query["DedicatedHostIds"] = request.dedicatedHostIds; } if (!Util.isUnset(request.dedicatedHostName)) { query["DedicatedHostName"] = request.dedicatedHostName; } if (!Util.isUnset(request.dedicatedHostType)) { query["DedicatedHostType"] = request.dedicatedHostType; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.socketDetails)) { query["SocketDetails"] = request.socketDetails; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDedicatedHosts", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDedicatedHostsResponse({})); } /** * You can use one of the following methods to query the information about dedicated hosts: * * Specify `DedicatedHostIds` to query the details of specified dedicated hosts. * * Specify `DedicatedHostClusterId` to query the details of the dedicated hosts in a dedicated host cluster. * * @param request DescribeDedicatedHostsRequest * @return DescribeDedicatedHostsResponse */ async describeDedicatedHosts(request: DescribeDedicatedHostsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDedicatedHostsWithOptions(request, runtime); } /** * @deprecated : DescribeDemands is deprecated, please use Ecs::2014-05-26::DescribeCapacityReservations instead. * You can call this operation to query the details of resources that you filed with Alibaba Cloud, including the types, delivery status, and consumption details of the resources. * By default, the demands for I/O optimized instances of the Virtual Private Cloud (VPC) type are queried. * For information about how to create (CreateDemand), modify (ModifyDemand), and delete (DeleteDemand) demands for ECS resources, contact your account manager. * * @param request DescribeDemandsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDemandsResponse */ // Deprecated async describeDemandsWithOptions(request: DescribeDemandsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.demandId)) { query["DemandId"] = request.demandId; } if (!Util.isUnset(request.demandStatus)) { query["DemandStatus"] = request.demandStatus; } if (!Util.isUnset(request.demandType)) { query["DemandType"] = request.demandType; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDemands", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDemandsResponse({})); } /** * @deprecated : DescribeDemands is deprecated, please use Ecs::2014-05-26::DescribeCapacityReservations instead. * You can call this operation to query the details of resources that you filed with Alibaba Cloud, including the types, delivery status, and consumption details of the resources. * By default, the demands for I/O optimized instances of the Virtual Private Cloud (VPC) type are queried. * For information about how to create (CreateDemand), modify (ModifyDemand), and delete (DeleteDemand) demands for ECS resources, contact your account manager. * * @param request DescribeDemandsRequest * @return DescribeDemandsResponse */ // Deprecated async describeDemands(request: DescribeDemandsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDemandsWithOptions(request, runtime); } /** * ## Usage notes * For more information about instance families, see [Overview of instance families](~~25378~~). * * @param request DescribeDeploymentSetSupportedInstanceTypeFamilyRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDeploymentSetSupportedInstanceTypeFamilyResponse */ async describeDeploymentSetSupportedInstanceTypeFamilyWithOptions(request: DescribeDeploymentSetSupportedInstanceTypeFamilyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.strategy)) { query["Strategy"] = request.strategy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDeploymentSetSupportedInstanceTypeFamily", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDeploymentSetSupportedInstanceTypeFamilyResponse({})); } /** * ## Usage notes * For more information about instance families, see [Overview of instance families](~~25378~~). * * @param request DescribeDeploymentSetSupportedInstanceTypeFamilyRequest * @return DescribeDeploymentSetSupportedInstanceTypeFamilyResponse */ async describeDeploymentSetSupportedInstanceTypeFamily(request: DescribeDeploymentSetSupportedInstanceTypeFamilyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDeploymentSetSupportedInstanceTypeFamilyWithOptions(request, runtime); } async describeDeploymentSetsWithOptions(request: DescribeDeploymentSetsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deploymentSetIds)) { query["DeploymentSetIds"] = request.deploymentSetIds; } if (!Util.isUnset(request.deploymentSetName)) { query["DeploymentSetName"] = request.deploymentSetName; } if (!Util.isUnset(request.domain)) { query["Domain"] = request.domain; } if (!Util.isUnset(request.granularity)) { query["Granularity"] = request.granularity; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.strategy)) { query["Strategy"] = request.strategy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDeploymentSets", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDeploymentSetsResponse({})); } async describeDeploymentSets(request: DescribeDeploymentSetsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDeploymentSetsWithOptions(request, runtime); } async describeDiagnosticMetricSetsWithOptions(request: DescribeDiagnosticMetricSetsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.metricSetIds)) { query["MetricSetIds"] = request.metricSetIds; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDiagnosticMetricSets", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDiagnosticMetricSetsResponse({})); } async describeDiagnosticMetricSets(request: DescribeDiagnosticMetricSetsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDiagnosticMetricSetsWithOptions(request, runtime); } async describeDiagnosticMetricsWithOptions(request: DescribeDiagnosticMetricsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.metricIds)) { query["MetricIds"] = request.metricIds; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDiagnosticMetrics", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDiagnosticMetricsResponse({})); } async describeDiagnosticMetrics(request: DescribeDiagnosticMetricsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDiagnosticMetricsWithOptions(request, runtime); } async describeDiagnosticReportAttributesWithOptions(request: DescribeDiagnosticReportAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reportId)) { query["ReportId"] = request.reportId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDiagnosticReportAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDiagnosticReportAttributesResponse({})); } async describeDiagnosticReportAttributes(request: DescribeDiagnosticReportAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDiagnosticReportAttributesWithOptions(request, runtime); } async describeDiagnosticReportsWithOptions(request: DescribeDiagnosticReportsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reportIds)) { query["ReportIds"] = request.reportIds; } if (!Util.isUnset(request.resourceIds)) { query["ResourceIds"] = request.resourceIds; } if (!Util.isUnset(request.severity)) { query["Severity"] = request.severity; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDiagnosticReports", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDiagnosticReportsResponse({})); } async describeDiagnosticReports(request: DescribeDiagnosticReportsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDiagnosticReportsWithOptions(request, runtime); } /** * ## [](#)Usage notes * You can query the following monitoring data of a disk: the read IOPS, write IOPS, read bandwidth (byte/s), write bandwidth (byte/s), read latency (microseconds), and write latency (microseconds). * Take note of the following items: * * You can query the monitoring data only of the disks that are in the In Use (`In_Use`) state. For more information, see [Disk states](~~25689~~). * ** * **Note** Some information may be missing from the monitoring data of a disk because the disk is not in the In Use (`In_Use`) state and the system cannot obtain the relevant information. * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeDiskMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDiskMonitorDataResponse */ async describeDiskMonitorDataWithOptions(request: DescribeDiskMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDiskMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDiskMonitorDataResponse({})); } /** * ## [](#)Usage notes * You can query the following monitoring data of a disk: the read IOPS, write IOPS, read bandwidth (byte/s), write bandwidth (byte/s), read latency (microseconds), and write latency (microseconds). * Take note of the following items: * * You can query the monitoring data only of the disks that are in the In Use (`In_Use`) state. For more information, see [Disk states](~~25689~~). * ** * **Note** Some information may be missing from the monitoring data of a disk because the disk is not in the In Use (`In_Use`) state and the system cannot obtain the relevant information. * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeDiskMonitorDataRequest * @return DescribeDiskMonitorDataResponse */ async describeDiskMonitorData(request: DescribeDiskMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDiskMonitorDataWithOptions(request, runtime); } /** * ### [](#)Usage notes * * You can specify multiple request parameters such as `RegionId`, `ZoneId`, `DiskIds`, and `InstanceId` as filters. The specified parameters are evaluated by using the "AND" operator. If you specify more than one filter, the records that match all filters are returned. * * The value of `DiskIds` is a JSON array. If you do not specify DiskIds, the parameter is not used as a filter condition. If you set `DiskIds` to an empty JSON array, the parameter is regarded as a valid filter, and an empty result is returned. * * You can use one of the following methods to check the responses: * * Method 1: Use `NextToken` to specify the pagination token. Set the value to the `NextToken` value that is obtained from the previous query. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. * You can use only one of the preceding methods. If a large number of entries are to be returned, we recommend that you use Method 1. If `NextToken` is specified, `PageSize` and `PageNumber` do not take effect and `TotalCount` in the response is invalid. * * You can attach a disk for which the multi-attach feature is enabled to multiple instances. You can query the attachment information of the disk based on the `Attachment` values in the response. * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeDisksRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDisksResponse */ async describeDisksWithOptions(request: DescribeDisksRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.additionalAttributes)) { query["AdditionalAttributes"] = request.additionalAttributes; } if (!Util.isUnset(request.autoSnapshotPolicyId)) { query["AutoSnapshotPolicyId"] = request.autoSnapshotPolicyId; } if (!Util.isUnset(request.category)) { query["Category"] = request.category; } if (!Util.isUnset(request.deleteAutoSnapshot)) { query["DeleteAutoSnapshot"] = request.deleteAutoSnapshot; } if (!Util.isUnset(request.deleteWithInstance)) { query["DeleteWithInstance"] = request.deleteWithInstance; } if (!Util.isUnset(request.diskChargeType)) { query["DiskChargeType"] = request.diskChargeType; } if (!Util.isUnset(request.diskIds)) { query["DiskIds"] = request.diskIds; } if (!Util.isUnset(request.diskName)) { query["DiskName"] = request.diskName; } if (!Util.isUnset(request.diskType)) { query["DiskType"] = request.diskType; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.enableAutoSnapshot)) { query["EnableAutoSnapshot"] = request.enableAutoSnapshot; } if (!Util.isUnset(request.enableAutomatedSnapshotPolicy)) { query["EnableAutomatedSnapshotPolicy"] = request.enableAutomatedSnapshotPolicy; } if (!Util.isUnset(request.enableShared)) { query["EnableShared"] = request.enableShared; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.multiAttach)) { query["MultiAttach"] = request.multiAttach; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.portable)) { query["Portable"] = request.portable; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDisks", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDisksResponse({})); } /** * ### [](#)Usage notes * * You can specify multiple request parameters such as `RegionId`, `ZoneId`, `DiskIds`, and `InstanceId` as filters. The specified parameters are evaluated by using the "AND" operator. If you specify more than one filter, the records that match all filters are returned. * * The value of `DiskIds` is a JSON array. If you do not specify DiskIds, the parameter is not used as a filter condition. If you set `DiskIds` to an empty JSON array, the parameter is regarded as a valid filter, and an empty result is returned. * * You can use one of the following methods to check the responses: * * Method 1: Use `NextToken` to specify the pagination token. Set the value to the `NextToken` value that is obtained from the previous query. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. * You can use only one of the preceding methods. If a large number of entries are to be returned, we recommend that you use Method 1. If `NextToken` is specified, `PageSize` and `PageNumber` do not take effect and `TotalCount` in the response is invalid. * * You can attach a disk for which the multi-attach feature is enabled to multiple instances. You can query the attachment information of the disk based on the `Attachment` values in the response. * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeDisksRequest * @return DescribeDisksResponse */ async describeDisks(request: DescribeDisksRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDisksWithOptions(request, runtime); } /** * * The full status information about an EBS device includes the lifecycle status specified by the `Status` parameter, health status specified by the `HealthStatus` parameter, and event type specified by the `EventType` parameter of the EBS device. You can filter the results based on these parameters. * * The release time, scheduled execution time, and actual execution time of each EBS device event are identical. If you specify a period of time by using the `EventTime.Start` and `EventTime.End` parameters, all events that occurred within this period are queried. You can query events that occurred within the last seven days. * * @param request DescribeDisksFullStatusRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeDisksFullStatusResponse */ async describeDisksFullStatusWithOptions(request: DescribeDisksFullStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.eventId)) { query["EventId"] = request.eventId; } if (!Util.isUnset(request.eventType)) { query["EventType"] = request.eventType; } if (!Util.isUnset(request.healthStatus)) { query["HealthStatus"] = request.healthStatus; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.eventTime)) { query["EventTime"] = request.eventTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeDisksFullStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeDisksFullStatusResponse({})); } /** * * The full status information about an EBS device includes the lifecycle status specified by the `Status` parameter, health status specified by the `HealthStatus` parameter, and event type specified by the `EventType` parameter of the EBS device. You can filter the results based on these parameters. * * The release time, scheduled execution time, and actual execution time of each EBS device event are identical. If you specify a period of time by using the `EventTime.Start` and `EventTime.End` parameters, all events that occurred within this period are queried. You can query events that occurred within the last seven days. * * @param request DescribeDisksFullStatusRequest * @return DescribeDisksFullStatusResponse */ async describeDisksFullStatus(request: DescribeDisksFullStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeDisksFullStatusWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeEipAddressesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeEipAddressesResponse */ // Deprecated async describeEipAddressesWithOptions(request: DescribeEipAddressesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.associatedInstanceId)) { query["AssociatedInstanceId"] = request.associatedInstanceId; } if (!Util.isUnset(request.associatedInstanceType)) { query["AssociatedInstanceType"] = request.associatedInstanceType; } if (!Util.isUnset(request.chargeType)) { query["ChargeType"] = request.chargeType; } if (!Util.isUnset(request.eipAddress)) { query["EipAddress"] = request.eipAddress; } if (!Util.isUnset(request.ISP)) { query["ISP"] = request.ISP; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeEipAddresses", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeEipAddressesResponse({})); } /** * @deprecated * * @param request DescribeEipAddressesRequest * @return DescribeEipAddressesResponse */ // Deprecated async describeEipAddresses(request: DescribeEipAddressesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeEipAddressesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeEipMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeEipMonitorDataResponse */ // Deprecated async describeEipMonitorDataWithOptions(request: DescribeEipMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeEipMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeEipMonitorDataResponse({})); } /** * @deprecated * * @param request DescribeEipMonitorDataRequest * @return DescribeEipMonitorDataResponse */ // Deprecated async describeEipMonitorData(request: DescribeEipMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeEipMonitorDataWithOptions(request, runtime); } /** * When an elasticity assurance expires, data about the association between the instances and the private pool generated by the elasticity assurance becomes invalid. When you call this operation to query the expired elasticity assurance, no value is returned. * * @param request DescribeElasticityAssuranceInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeElasticityAssuranceInstancesResponse */ async describeElasticityAssuranceInstancesWithOptions(request: DescribeElasticityAssuranceInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeElasticityAssuranceInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeElasticityAssuranceInstancesResponse({})); } /** * When an elasticity assurance expires, data about the association between the instances and the private pool generated by the elasticity assurance becomes invalid. When you call this operation to query the expired elasticity assurance, no value is returned. * * @param request DescribeElasticityAssuranceInstancesRequest * @return DescribeElasticityAssuranceInstancesResponse */ async describeElasticityAssuranceInstances(request: DescribeElasticityAssuranceInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeElasticityAssuranceInstancesWithOptions(request, runtime); } async describeElasticityAssurancesWithOptions(request: DescribeElasticityAssurancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeElasticityAssurances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeElasticityAssurancesResponse({})); } async describeElasticityAssurances(request: DescribeElasticityAssurancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeElasticityAssurancesWithOptions(request, runtime); } /** * ## [](#)Usage notes * The monitoring data of a secondary ENI includes the amount of traffic sent and received over the internal network, the number of packets sent and received by the secondary ENI, and the number of sent and received packets that are dropped by the secondary ENI. Specific information may be missing from the returned monitoring data. This may be because the system cannot obtain the relevant information. For example, if the instance to which the secondary ENI is attached is in the Stopped state or if the secondary ENI is not attached to an instance and is in the Available state, the monitoring data of the secondary ENI cannot be obtained. Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeEniMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeEniMonitorDataResponse */ async describeEniMonitorDataWithOptions(request: DescribeEniMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.eniId)) { query["EniId"] = request.eniId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeEniMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeEniMonitorDataResponse({})); } /** * ## [](#)Usage notes * The monitoring data of a secondary ENI includes the amount of traffic sent and received over the internal network, the number of packets sent and received by the secondary ENI, and the number of sent and received packets that are dropped by the secondary ENI. Specific information may be missing from the returned monitoring data. This may be because the system cannot obtain the relevant information. For example, if the instance to which the secondary ENI is attached is in the Stopped state or if the secondary ENI is not attached to an instance and is in the Available state, the monitoring data of the secondary ENI cannot be obtained. Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeEniMonitorDataRequest * @return DescribeEniMonitorDataResponse */ async describeEniMonitorData(request: DescribeEniMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeEniMonitorDataWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeForwardTableEntriesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeForwardTableEntriesResponse */ // Deprecated async describeForwardTableEntriesWithOptions(request: DescribeForwardTableEntriesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.forwardEntryId)) { query["ForwardEntryId"] = request.forwardEntryId; } if (!Util.isUnset(request.forwardTableId)) { query["ForwardTableId"] = request.forwardTableId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeForwardTableEntries", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeForwardTableEntriesResponse({})); } /** * @deprecated * * @param request DescribeForwardTableEntriesRequest * @return DescribeForwardTableEntriesResponse */ // Deprecated async describeForwardTableEntries(request: DescribeForwardTableEntriesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeForwardTableEntriesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeHaVipsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeHaVipsResponse */ // Deprecated async describeHaVipsWithOptions(request: DescribeHaVipsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeHaVips", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeHaVipsResponse({})); } /** * @deprecated * * @param request DescribeHaVipsRequest * @return DescribeHaVipsResponse */ // Deprecated async describeHaVips(request: DescribeHaVipsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeHaVipsWithOptions(request, runtime); } async describeHpcClustersWithOptions(request: DescribeHpcClustersRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.hpcClusterIds)) { query["HpcClusterIds"] = request.hpcClusterIds; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeHpcClusters", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeHpcClustersResponse({})); } async describeHpcClusters(request: DescribeHpcClustersRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeHpcClustersWithOptions(request, runtime); } /** * You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the last call to the DescribeImageComponents operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * @param request DescribeImageComponentsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeImageComponentsResponse */ async describeImageComponentsWithOptions(request: DescribeImageComponentsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageComponentId)) { query["ImageComponentId"] = request.imageComponentId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.owner)) { query["Owner"] = request.owner; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImageComponents", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImageComponentsResponse({})); } /** * You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the last call to the DescribeImageComponents operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * @param request DescribeImageComponentsRequest * @return DescribeImageComponentsResponse */ async describeImageComponents(request: DescribeImageComponentsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImageComponentsWithOptions(request, runtime); } /** * ## Description * * This API operation only returns the available custom images that are newly created in the specified image family. Public images, Alibaba Cloud Marketplace images, community images, or shared images are not queried. * * If no available custom images exist in the specified image family, the response is empty. * * @param request DescribeImageFromFamilyRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeImageFromFamilyResponse */ async describeImageFromFamilyWithOptions(request: DescribeImageFromFamilyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImageFromFamily", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImageFromFamilyResponse({})); } /** * ## Description * * This API operation only returns the available custom images that are newly created in the specified image family. Public images, Alibaba Cloud Marketplace images, community images, or shared images are not queried. * * If no available custom images exist in the specified image family, the response is empty. * * @param request DescribeImageFromFamilyRequest * @return DescribeImageFromFamilyResponse */ async describeImageFromFamily(request: DescribeImageFromFamilyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImageFromFamilyWithOptions(request, runtime); } /** * * The image template that is specified by the `ImagePipelineId` parameter cannot be a deleted image template. When an image template is deleted, the corresponding image creation task is deleted. * * You must specify `ImagePipelineId` or `ExecutionId`. * * You can configure the query token by using the `NextToken` parameter. Set the value of NextToken to the value of `NextToken` that was returned the last time you called the `DescribeImagePipelineExecutions` operation. Then, use the `MaxResults` parameter to specify the maximum number of entries to return on each page to query the details of the image creation task. * * @param request DescribeImagePipelineExecutionsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeImagePipelineExecutionsResponse */ async describeImagePipelineExecutionsWithOptions(request: DescribeImagePipelineExecutionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.executionId)) { query["ExecutionId"] = request.executionId; } if (!Util.isUnset(request.imagePipelineId)) { query["ImagePipelineId"] = request.imagePipelineId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImagePipelineExecutions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImagePipelineExecutionsResponse({})); } /** * * The image template that is specified by the `ImagePipelineId` parameter cannot be a deleted image template. When an image template is deleted, the corresponding image creation task is deleted. * * You must specify `ImagePipelineId` or `ExecutionId`. * * You can configure the query token by using the `NextToken` parameter. Set the value of NextToken to the value of `NextToken` that was returned the last time you called the `DescribeImagePipelineExecutions` operation. Then, use the `MaxResults` parameter to specify the maximum number of entries to return on each page to query the details of the image creation task. * * @param request DescribeImagePipelineExecutionsRequest * @return DescribeImagePipelineExecutionsResponse */ async describeImagePipelineExecutions(request: DescribeImagePipelineExecutionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImagePipelineExecutionsWithOptions(request, runtime); } /** * ## Description * You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the last call to the `DescribeImagePipelines` operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * @param request DescribeImagePipelinesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeImagePipelinesResponse */ async describeImagePipelinesWithOptions(request: DescribeImagePipelinesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imagePipelineId)) { query["ImagePipelineId"] = request.imagePipelineId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImagePipelines", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImagePipelinesResponse({})); } /** * ## Description * You can use `NextToken` to configure the query token. Set the value to the `NextToken` value that is returned in the last call to the `DescribeImagePipelines` operation. Then, use `MaxResults` to specify the maximum number of entries to return on each page. * * @param request DescribeImagePipelinesRequest * @return DescribeImagePipelinesResponse */ async describeImagePipelines(request: DescribeImagePipelinesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImagePipelinesWithOptions(request, runtime); } async describeImageSharePermissionWithOptions(request: DescribeImageSharePermissionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImageSharePermission", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImageSharePermissionResponse({})); } async describeImageSharePermission(request: DescribeImageSharePermissionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImageSharePermissionWithOptions(request, runtime); } async describeImageSupportInstanceTypesWithOptions(request: DescribeImageSupportInstanceTypesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.actionType)) { query["ActionType"] = request.actionType; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImageSupportInstanceTypes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImageSupportInstanceTypesResponse({})); } async describeImageSupportInstanceTypes(request: DescribeImageSupportInstanceTypesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImageSupportInstanceTypesWithOptions(request, runtime); } /** * ## [](#)Usage notes * * You can query your custom images, public images provided by Alibaba Cloud, Alibaba Cloud Marketplace images, and shared images from other Alibaba Cloud accounts. * * This is a paginated query. The response contains the total number of available images and the images on the returned page. By default,10 entries are displayed on each page. * * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](~~110340~~). * * If you set ImageOwnerAlias to system or others when you call the DescribeImages operation to query public images that are provided by Alibaba Cloud or shared images, Resource Access Management (RAM) policies are ignored in the request. For more information, see [RAM authorization](~~25497~~). * * @param request DescribeImagesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeImagesResponse */ async describeImagesWithOptions(request: DescribeImagesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.actionType)) { query["ActionType"] = request.actionType; } if (!Util.isUnset(request.architecture)) { query["Architecture"] = request.architecture; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.imageName)) { query["ImageName"] = request.imageName; } if (!Util.isUnset(request.imageOwnerAlias)) { query["ImageOwnerAlias"] = request.imageOwnerAlias; } if (!Util.isUnset(request.imageOwnerId)) { query["ImageOwnerId"] = request.imageOwnerId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.isPublic)) { query["IsPublic"] = request.isPublic; } if (!Util.isUnset(request.isSupportCloudinit)) { query["IsSupportCloudinit"] = request.isSupportCloudinit; } if (!Util.isUnset(request.isSupportIoOptimized)) { query["IsSupportIoOptimized"] = request.isSupportIoOptimized; } if (!Util.isUnset(request.OSType)) { query["OSType"] = request.OSType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.showExpired)) { query["ShowExpired"] = request.showExpired; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.usage)) { query["Usage"] = request.usage; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeImages", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeImagesResponse({})); } /** * ## [](#)Usage notes * * You can query your custom images, public images provided by Alibaba Cloud, Alibaba Cloud Marketplace images, and shared images from other Alibaba Cloud accounts. * * This is a paginated query. The response contains the total number of available images and the images on the returned page. By default,10 entries are displayed on each page. * * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in the required formats. For more information, see [Parameter formats](~~110340~~). * * If you set ImageOwnerAlias to system or others when you call the DescribeImages operation to query public images that are provided by Alibaba Cloud or shared images, Resource Access Management (RAM) policies are ignored in the request. For more information, see [RAM authorization](~~25497~~). * * @param request DescribeImagesRequest * @return DescribeImagesResponse */ async describeImages(request: DescribeImagesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeImagesWithOptions(request, runtime); } /** * A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that are created by using the private pool. You can configure a private pool when you create an instance. This way, the instance matches the elasticity assurance or capacity reservation that is associated with the private pool. * When a private pool expires, data about the association between instances and the private pool becomes invalid. If you call this operation to query the information about the private pool, empty values are returned. * * @param request DescribeInstanceAttachmentAttributesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceAttachmentAttributesResponse */ async describeInstanceAttachmentAttributesWithOptions(request: DescribeInstanceAttachmentAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceAttachmentAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceAttachmentAttributesResponse({})); } /** * A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that are created by using the private pool. You can configure a private pool when you create an instance. This way, the instance matches the elasticity assurance or capacity reservation that is associated with the private pool. * When a private pool expires, data about the association between instances and the private pool becomes invalid. If you call this operation to query the information about the private pool, empty values are returned. * * @param request DescribeInstanceAttachmentAttributesRequest * @return DescribeInstanceAttachmentAttributesResponse */ async describeInstanceAttachmentAttributes(request: DescribeInstanceAttachmentAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceAttachmentAttributesWithOptions(request, runtime); } async describeInstanceAttributeWithOptions(request: DescribeInstanceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceAttributeResponse({})); } async describeInstanceAttribute(request: DescribeInstanceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceAttributeWithOptions(request, runtime); } /** * * Before you configure auto-renewal or manual renewal for subscription instances, you can query the auto-renewal status of the instances. * * This operation is applicable to only subscription instances. An error is returned if you call this operation on pay-as-you-go instances. * * @param request DescribeInstanceAutoRenewAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceAutoRenewAttributeResponse */ async describeInstanceAutoRenewAttributeWithOptions(request: DescribeInstanceAutoRenewAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.renewalStatus)) { query["RenewalStatus"] = request.renewalStatus; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceAutoRenewAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceAutoRenewAttributeResponse({})); } /** * * Before you configure auto-renewal or manual renewal for subscription instances, you can query the auto-renewal status of the instances. * * This operation is applicable to only subscription instances. An error is returned if you call this operation on pay-as-you-go instances. * * @param request DescribeInstanceAutoRenewAttributeRequest * @return DescribeInstanceAutoRenewAttributeResponse */ async describeInstanceAutoRenewAttribute(request: DescribeInstanceAutoRenewAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceAutoRenewAttributeWithOptions(request, runtime); } /** * * You can query system events that were completed within the last 30 days. No limits apply to the time range for querying uncompleted system events. * * You can also specify InstanceEventCycleStatus to query the system events that are in the Scheduled, Executing, or Inquiring state. * * @param request DescribeInstanceHistoryEventsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceHistoryEventsResponse */ async describeInstanceHistoryEventsWithOptions(request: DescribeInstanceHistoryEventsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.eventCycleStatus)) { query["EventCycleStatus"] = request.eventCycleStatus; } if (!Util.isUnset(request.eventId)) { query["EventId"] = request.eventId; } if (!Util.isUnset(request.eventType)) { query["EventType"] = request.eventType; } if (!Util.isUnset(request.impactLevel)) { query["ImpactLevel"] = request.impactLevel; } if (!Util.isUnset(request.instanceEventCycleStatus)) { query["InstanceEventCycleStatus"] = request.instanceEventCycleStatus; } if (!Util.isUnset(request.instanceEventType)) { query["InstanceEventType"] = request.instanceEventType; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.eventPublishTime)) { query["EventPublishTime"] = request.eventPublishTime; } if (!Util.isUnset(request.notBefore)) { query["NotBefore"] = request.notBefore; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceHistoryEvents", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceHistoryEventsResponse({})); } /** * * You can query system events that were completed within the last 30 days. No limits apply to the time range for querying uncompleted system events. * * You can also specify InstanceEventCycleStatus to query the system events that are in the Scheduled, Executing, or Inquiring state. * * @param request DescribeInstanceHistoryEventsRequest * @return DescribeInstanceHistoryEventsResponse */ async describeInstanceHistoryEvents(request: DescribeInstanceHistoryEventsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceHistoryEventsWithOptions(request, runtime); } /** * This operation is used to query the specified maintenance policy of an instance, which contains the following maintenance attributes: * * Maintenance window: the time period that you specify for maintenance. * * Maintenance action: the action that you specify in response to instance shutdown. * * @param request DescribeInstanceMaintenanceAttributesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceMaintenanceAttributesResponse */ async describeInstanceMaintenanceAttributesWithOptions(request: DescribeInstanceMaintenanceAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceMaintenanceAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceMaintenanceAttributesResponse({})); } /** * This operation is used to query the specified maintenance policy of an instance, which contains the following maintenance attributes: * * Maintenance window: the time period that you specify for maintenance. * * Maintenance action: the action that you specify in response to instance shutdown. * * @param request DescribeInstanceMaintenanceAttributesRequest * @return DescribeInstanceMaintenanceAttributesResponse */ async describeInstanceMaintenanceAttributes(request: DescribeInstanceMaintenanceAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceMaintenanceAttributesWithOptions(request, runtime); } /** * * Pricing information can be queried for unexpired subscription ECS instances only when you upgrade their configurations. The pricing information cannot be queried when the instance configurations are downgraded. * * Pricing information cannot be queried for pay-as-you-go ECS instances when you change their configurations. Prices of existing pay-as-you-go ECS instances whose configurations are changed are the same as those of new pay-as-you-go instances. You can call the [DescribePrice](~~107829~~) operation to query the latest prices of ECS instances. * * Before you upgrade the configurations of an instance, we recommend that you call the [DescribeResourcesModification](~~66187~~) operation to query the instance types available for configuration upgrades in a specified zone. * * @param request DescribeInstanceModificationPriceRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceModificationPriceResponse */ async describeInstanceModificationPriceWithOptions(request: DescribeInstanceModificationPriceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceModificationPrice", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceModificationPriceResponse({})); } /** * * Pricing information can be queried for unexpired subscription ECS instances only when you upgrade their configurations. The pricing information cannot be queried when the instance configurations are downgraded. * * Pricing information cannot be queried for pay-as-you-go ECS instances when you change their configurations. Prices of existing pay-as-you-go ECS instances whose configurations are changed are the same as those of new pay-as-you-go instances. You can call the [DescribePrice](~~107829~~) operation to query the latest prices of ECS instances. * * Before you upgrade the configurations of an instance, we recommend that you call the [DescribeResourcesModification](~~66187~~) operation to query the instance types available for configuration upgrades in a specified zone. * * @param request DescribeInstanceModificationPriceRequest * @return DescribeInstanceModificationPriceResponse */ async describeInstanceModificationPrice(request: DescribeInstanceModificationPriceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceModificationPriceWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * In some scenarios, such as when the instance is in the Stopped state, the system cannot obtain the relevant information and specific information may be missing from the returned monitoring data. * * You cannot call this operation to obtain the CPU basic monitoring information of an ECS bare metal instance. To obtain the CPU monitoring information of an ECS bare metal instance, install the CloudMonitor agent on the instance. For more information, see [InstallCloudMonitor](~~183482~~). * * @param request DescribeInstanceMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceMonitorDataResponse */ async describeInstanceMonitorDataWithOptions(request: DescribeInstanceMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceMonitorDataResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * In some scenarios, such as when the instance is in the Stopped state, the system cannot obtain the relevant information and specific information may be missing from the returned monitoring data. * * You cannot call this operation to obtain the CPU basic monitoring information of an ECS bare metal instance. To obtain the CPU monitoring information of an ECS bare metal instance, install the CloudMonitor agent on the instance. For more information, see [InstallCloudMonitor](~~183482~~). * * @param request DescribeInstanceMonitorDataRequest * @return DescribeInstanceMonitorDataResponse */ async describeInstanceMonitorData(request: DescribeInstanceMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceMonitorDataWithOptions(request, runtime); } /** * ## Description * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeInstanceRamRoleRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceRamRoleResponse */ async describeInstanceRamRoleWithOptions(request: DescribeInstanceRamRoleRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceRamRole", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceRamRoleResponse({})); } /** * ## Description * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeInstanceRamRoleRequest * @return DescribeInstanceRamRoleResponse */ async describeInstanceRamRole(request: DescribeInstanceRamRoleRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceRamRoleWithOptions(request, runtime); } /** * * For information about the lifecycle states of an ECS instance, see [Instance states](~~25687~~). * * You can also call this operation to query the list of ECS instances. * * @param request DescribeInstanceStatusRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceStatusResponse */ async describeInstanceStatusWithOptions(request: DescribeInstanceStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clusterId)) { query["ClusterId"] = request.clusterId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceStatusResponse({})); } /** * * For information about the lifecycle states of an ECS instance, see [Instance states](~~25687~~). * * You can also call this operation to query the list of ECS instances. * * @param request DescribeInstanceStatusRequest * @return DescribeInstanceStatusResponse */ async describeInstanceStatus(request: DescribeInstanceStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceStatusWithOptions(request, runtime); } async describeInstanceTopologyWithOptions(request: DescribeInstanceTopologyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceTopology", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceTopologyResponse({})); } async describeInstanceTopology(request: DescribeInstanceTopologyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceTopologyWithOptions(request, runtime); } async describeInstanceTypeFamiliesWithOptions(request: DescribeInstanceTypeFamiliesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.generation)) { query["Generation"] = request.generation; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceTypeFamilies", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceTypeFamiliesResponse({})); } async describeInstanceTypeFamilies(request: DescribeInstanceTypeFamiliesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceTypeFamiliesWithOptions(request, runtime); } /** * ## Usage notes * Before you call this operation, take note of the following items: * * The MaxResults parameter specifies the maximum number of entries to return on each page. The maximum value of this parameter is changed from 1600 to 100. If you called this operation in 2022, you can continue to use 1600 as the maximum value of MaxResults until November 15, 2023. As of November 15, 2023, only 100 can be used as the maximum value of MaxResults. If you do not specify the NextToken parameter when you call the DescribeInstanceTypes operation, only the first page of results that contains up to 100 entries is returned. If you want to retrieve more results, specify the NextToken parameter to perform paged queries, or specify filter conditions to filter results. * * We recommend that you specify the MaxResults and NextToken parameters to perform paged queries. The first time you call the DescribeInstanceTypes operation, specify MaxResults to limit the maximum number of entries to return in the call. If the number of entries to return exceeds the specified value of MaxResults, the response includes a NextToken value. You can set NextToken to this return value and specify MaxResults in your next request to DescribeInstanceTypes to retrieve the next page of results. * * The DescribeInstanceTypes operation is used to query only the specifications and performance information of instance types. To query instance types that are available in a specified region, call the [DescribeAvailableResource](~~66186~~) operation. * * To use special instance types such as instance types that are unavailable for purchase, [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex). * * @param request DescribeInstanceTypesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceTypesResponse */ async describeInstanceTypesWithOptions(request: DescribeInstanceTypesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cpuArchitecture)) { query["CpuArchitecture"] = request.cpuArchitecture; } if (!Util.isUnset(request.cpuArchitectures)) { query["CpuArchitectures"] = request.cpuArchitectures; } if (!Util.isUnset(request.GPUSpec)) { query["GPUSpec"] = request.GPUSpec; } if (!Util.isUnset(request.gpuSpecs)) { query["GpuSpecs"] = request.gpuSpecs; } if (!Util.isUnset(request.instanceCategories)) { query["InstanceCategories"] = request.instanceCategories; } if (!Util.isUnset(request.instanceCategory)) { query["InstanceCategory"] = request.instanceCategory; } if (!Util.isUnset(request.instanceFamilyLevel)) { query["InstanceFamilyLevel"] = request.instanceFamilyLevel; } if (!Util.isUnset(request.instanceTypeFamilies)) { query["InstanceTypeFamilies"] = request.instanceTypeFamilies; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.instanceTypes)) { query["InstanceTypes"] = request.instanceTypes; } if (!Util.isUnset(request.localStorageCategories)) { query["LocalStorageCategories"] = request.localStorageCategories; } if (!Util.isUnset(request.localStorageCategory)) { query["LocalStorageCategory"] = request.localStorageCategory; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.maximumCpuCoreCount)) { query["MaximumCpuCoreCount"] = request.maximumCpuCoreCount; } if (!Util.isUnset(request.maximumCpuSpeedFrequency)) { query["MaximumCpuSpeedFrequency"] = request.maximumCpuSpeedFrequency; } if (!Util.isUnset(request.maximumCpuTurboFrequency)) { query["MaximumCpuTurboFrequency"] = request.maximumCpuTurboFrequency; } if (!Util.isUnset(request.maximumGPUAmount)) { query["MaximumGPUAmount"] = request.maximumGPUAmount; } if (!Util.isUnset(request.maximumMemorySize)) { query["MaximumMemorySize"] = request.maximumMemorySize; } if (!Util.isUnset(request.minimumBaselineCredit)) { query["MinimumBaselineCredit"] = request.minimumBaselineCredit; } if (!Util.isUnset(request.minimumCpuCoreCount)) { query["MinimumCpuCoreCount"] = request.minimumCpuCoreCount; } if (!Util.isUnset(request.minimumCpuSpeedFrequency)) { query["MinimumCpuSpeedFrequency"] = request.minimumCpuSpeedFrequency; } if (!Util.isUnset(request.minimumCpuTurboFrequency)) { query["MinimumCpuTurboFrequency"] = request.minimumCpuTurboFrequency; } if (!Util.isUnset(request.minimumDiskQuantity)) { query["MinimumDiskQuantity"] = request.minimumDiskQuantity; } if (!Util.isUnset(request.minimumEniIpv6AddressQuantity)) { query["MinimumEniIpv6AddressQuantity"] = request.minimumEniIpv6AddressQuantity; } if (!Util.isUnset(request.minimumEniPrivateIpAddressQuantity)) { query["MinimumEniPrivateIpAddressQuantity"] = request.minimumEniPrivateIpAddressQuantity; } if (!Util.isUnset(request.minimumEniQuantity)) { query["MinimumEniQuantity"] = request.minimumEniQuantity; } if (!Util.isUnset(request.minimumEriQuantity)) { query["MinimumEriQuantity"] = request.minimumEriQuantity; } if (!Util.isUnset(request.minimumGPUAmount)) { query["MinimumGPUAmount"] = request.minimumGPUAmount; } if (!Util.isUnset(request.minimumInitialCredit)) { query["MinimumInitialCredit"] = request.minimumInitialCredit; } if (!Util.isUnset(request.minimumInstanceBandwidthRx)) { query["MinimumInstanceBandwidthRx"] = request.minimumInstanceBandwidthRx; } if (!Util.isUnset(request.minimumInstanceBandwidthTx)) { query["MinimumInstanceBandwidthTx"] = request.minimumInstanceBandwidthTx; } if (!Util.isUnset(request.minimumInstancePpsRx)) { query["MinimumInstancePpsRx"] = request.minimumInstancePpsRx; } if (!Util.isUnset(request.minimumInstancePpsTx)) { query["MinimumInstancePpsTx"] = request.minimumInstancePpsTx; } if (!Util.isUnset(request.minimumLocalStorageAmount)) { query["MinimumLocalStorageAmount"] = request.minimumLocalStorageAmount; } if (!Util.isUnset(request.minimumLocalStorageCapacity)) { query["MinimumLocalStorageCapacity"] = request.minimumLocalStorageCapacity; } if (!Util.isUnset(request.minimumMemorySize)) { query["MinimumMemorySize"] = request.minimumMemorySize; } if (!Util.isUnset(request.minimumPrimaryEniQueueNumber)) { query["MinimumPrimaryEniQueueNumber"] = request.minimumPrimaryEniQueueNumber; } if (!Util.isUnset(request.minimumQueuePairNumber)) { query["MinimumQueuePairNumber"] = request.minimumQueuePairNumber; } if (!Util.isUnset(request.minimumSecondaryEniQueueNumber)) { query["MinimumSecondaryEniQueueNumber"] = request.minimumSecondaryEniQueueNumber; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.nvmeSupport)) { query["NvmeSupport"] = request.nvmeSupport; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.physicalProcessorModel)) { query["PhysicalProcessorModel"] = request.physicalProcessorModel; } if (!Util.isUnset(request.physicalProcessorModels)) { query["PhysicalProcessorModels"] = request.physicalProcessorModels; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceTypes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceTypesResponse({})); } /** * ## Usage notes * Before you call this operation, take note of the following items: * * The MaxResults parameter specifies the maximum number of entries to return on each page. The maximum value of this parameter is changed from 1600 to 100. If you called this operation in 2022, you can continue to use 1600 as the maximum value of MaxResults until November 15, 2023. As of November 15, 2023, only 100 can be used as the maximum value of MaxResults. If you do not specify the NextToken parameter when you call the DescribeInstanceTypes operation, only the first page of results that contains up to 100 entries is returned. If you want to retrieve more results, specify the NextToken parameter to perform paged queries, or specify filter conditions to filter results. * * We recommend that you specify the MaxResults and NextToken parameters to perform paged queries. The first time you call the DescribeInstanceTypes operation, specify MaxResults to limit the maximum number of entries to return in the call. If the number of entries to return exceeds the specified value of MaxResults, the response includes a NextToken value. You can set NextToken to this return value and specify MaxResults in your next request to DescribeInstanceTypes to retrieve the next page of results. * * The DescribeInstanceTypes operation is used to query only the specifications and performance information of instance types. To query instance types that are available in a specified region, call the [DescribeAvailableResource](~~66186~~) operation. * * To use special instance types such as instance types that are unavailable for purchase, [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex). * * @param request DescribeInstanceTypesRequest * @return DescribeInstanceTypesResponse */ async describeInstanceTypes(request: DescribeInstanceTypesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceTypesWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * The **keepalive** time of a connection to a VNC management terminal is 300 seconds. If you do not interact with the VNC management terminal for 300 seconds, the VNC management terminal is automatically disconnected. * * If the connection is interrupted, you must recall this operation to obtain a new logon address that is specified by `VncUrl` and use the new logon address to construct a URL that can be used to reconnect to the VNC management terminal. You can reconnect to a VNC management terminal for a maximum of 30 times per minute. * * You need to add the `vncUrl=\\*\\*\\*\\*`, `instanceId=\\*\\*\\*\\*`, and `isWindows=true/false` parameters to the end of the link `https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?` and use an ampersand (`&`) between the parameters. * * `vncUrl`: the value of `VncUrl` that is returned after a successful call of this operation. * * `instanceId`: the ID of your instance. * * `isWindows`: specifies whether the operating system of your instance is Windows. A value of `true` indicates that the operating system is Windows. A value of `false` indicates that the operating system is not Windows. * > You can connect to an instance without a VNC logon password. Therefore, you do not need to configure the `password` parameter. * Sample URL: * https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?vncUrl=ws%3A%2F%****&instanceId=i-wz9hhwq5a6tm****&isWindows=true * * @param request DescribeInstanceVncUrlRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstanceVncUrlResponse */ async describeInstanceVncUrlWithOptions(request: DescribeInstanceVncUrlRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstanceVncUrl", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstanceVncUrlResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * The **keepalive** time of a connection to a VNC management terminal is 300 seconds. If you do not interact with the VNC management terminal for 300 seconds, the VNC management terminal is automatically disconnected. * * If the connection is interrupted, you must recall this operation to obtain a new logon address that is specified by `VncUrl` and use the new logon address to construct a URL that can be used to reconnect to the VNC management terminal. You can reconnect to a VNC management terminal for a maximum of 30 times per minute. * * You need to add the `vncUrl=\\*\\*\\*\\*`, `instanceId=\\*\\*\\*\\*`, and `isWindows=true/false` parameters to the end of the link `https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?` and use an ampersand (`&`) between the parameters. * * `vncUrl`: the value of `VncUrl` that is returned after a successful call of this operation. * * `instanceId`: the ID of your instance. * * `isWindows`: specifies whether the operating system of your instance is Windows. A value of `true` indicates that the operating system is Windows. A value of `false` indicates that the operating system is not Windows. * > You can connect to an instance without a VNC logon password. Therefore, you do not need to configure the `password` parameter. * Sample URL: * https://g.alicdn.com/aliyun/ecs-console-vnc2/0.0.8/index.html?vncUrl=ws%3A%2F%****&instanceId=i-wz9hhwq5a6tm****&isWindows=true * * @param request DescribeInstanceVncUrlRequest * @return DescribeInstanceVncUrlResponse */ async describeInstanceVncUrl(request: DescribeInstanceVncUrlRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstanceVncUrlWithOptions(request, runtime); } /** * * You can specify multiple request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if InstanceIds is set to an empty JSON array, it is regarded as a valid filter condition and an empty result is returned. * * If you are using a Resource Access Management (RAM) user or RAM role that does not have the permissions to call this operation, an empty list is returned. You can include the `DryRun` parameter in your request to check whether the empty list is caused by lack of permissions. * * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which can be used in the next call to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page and then use `PageNumber` to specify the number of the page to return. * You can use only one of the preceding methods. If a large number of entries are to be returned, we recommend that you use method 1. When `MaxResults` or `NextToken` is specified, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstancesResponse */ async describeInstancesWithOptions(request: DescribeInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.additionalAttributes)) { query["AdditionalAttributes"] = request.additionalAttributes; } if (!Util.isUnset(request.deviceAvailable)) { query["DeviceAvailable"] = request.deviceAvailable; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.eipAddresses)) { query["EipAddresses"] = request.eipAddresses; } if (!Util.isUnset(request.hpcClusterId)) { query["HpcClusterId"] = request.hpcClusterId; } if (!Util.isUnset(request.httpEndpoint)) { query["HttpEndpoint"] = request.httpEndpoint; } if (!Util.isUnset(request.httpPutResponseHopLimit)) { query["HttpPutResponseHopLimit"] = request.httpPutResponseHopLimit; } if (!Util.isUnset(request.httpTokens)) { query["HttpTokens"] = request.httpTokens; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.innerIpAddresses)) { query["InnerIpAddresses"] = request.innerIpAddresses; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.instanceNetworkType)) { query["InstanceNetworkType"] = request.instanceNetworkType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.needSaleCycle)) { query["NeedSaleCycle"] = request.needSaleCycle; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.privateIpAddresses)) { query["PrivateIpAddresses"] = request.privateIpAddresses; } if (!Util.isUnset(request.publicIpAddresses)) { query["PublicIpAddresses"] = request.publicIpAddresses; } if (!Util.isUnset(request.rdmaIpAddresses)) { query["RdmaIpAddresses"] = request.rdmaIpAddresses; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstancesResponse({})); } /** * * You can specify multiple request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. However, if InstanceIds is set to an empty JSON array, it is regarded as a valid filter condition and an empty result is returned. * * If you are using a Resource Access Management (RAM) user or RAM role that does not have the permissions to call this operation, an empty list is returned. You can include the `DryRun` parameter in your request to check whether the empty list is caused by lack of permissions. * * When you call an API operation by using Alibaba Cloud CLI, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInstances operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which can be used in the next call to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page and then use `PageNumber` to specify the number of the page to return. * You can use only one of the preceding methods. If a large number of entries are to be returned, we recommend that you use method 1. When `MaxResults` or `NextToken` is specified, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInstancesRequest * @return DescribeInstancesResponse */ async describeInstances(request: DescribeInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstancesWithOptions(request, runtime); } /** * The response includes instance states and instance system events that are in the Scheduled state. * You can specify a period of time to query events that occurred within the period of time. * * @param request DescribeInstancesFullStatusRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInstancesFullStatusResponse */ async describeInstancesFullStatusWithOptions(request: DescribeInstancesFullStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.eventId)) { query["EventId"] = request.eventId; } if (!Util.isUnset(request.eventType)) { query["EventType"] = request.eventType; } if (!Util.isUnset(request.healthStatus)) { query["HealthStatus"] = request.healthStatus; } if (!Util.isUnset(request.instanceEventType)) { query["InstanceEventType"] = request.instanceEventType; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.eventPublishTime)) { query["EventPublishTime"] = request.eventPublishTime; } if (!Util.isUnset(request.notBefore)) { query["NotBefore"] = request.notBefore; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInstancesFullStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInstancesFullStatusResponse({})); } /** * The response includes instance states and instance system events that are in the Scheduled state. * You can specify a period of time to query events that occurred within the period of time. * * @param request DescribeInstancesFullStatusRequest * @return DescribeInstancesFullStatusResponse */ async describeInstancesFullStatus(request: DescribeInstancesFullStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInstancesFullStatusWithOptions(request, runtime); } /** * ## [](#)Usage notes * * After you run a command, the command may fail to run or may return unexpected results. You can call this operation to query the execution results of a command. * * You can query information about command executions within the last four weeks. Up to 100,000 pieces of execution information can be retained. * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInvocationResults operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeInvocationResults operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInvocationResultsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInvocationResultsResponse */ async describeInvocationResultsWithOptions(request: DescribeInvocationResultsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.includeHistory)) { query["IncludeHistory"] = request.includeHistory; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.invokeId)) { query["InvokeId"] = request.invokeId; } if (!Util.isUnset(request.invokeRecordStatus)) { query["InvokeRecordStatus"] = request.invokeRecordStatus; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInvocationResults", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInvocationResultsResponse({})); } /** * ## [](#)Usage notes * * After you run a command, the command may fail to run or may return unexpected results. You can call this operation to query the execution results of a command. * * You can query information about command executions within the last four weeks. Up to 100,000 pieces of execution information can be retained. * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInvocationResults operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeInvocationResults operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInvocationResultsRequest * @return DescribeInvocationResultsResponse */ async describeInvocationResults(request: DescribeInvocationResultsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInvocationResultsWithOptions(request, runtime); } /** * ## [](#)Usage notes * * After you run a command, the command may not succeed or return the expected results. You can call this operation to query the execution results. * * You can query information about command executions within the last four weeks. Up to 100,000 pieces of execution information can be retained. * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInvocations operation to retrieve the first page of results, use `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeInvocations operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInvocationsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeInvocationsResponse */ async describeInvocationsWithOptions(request: DescribeInvocationsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.commandName)) { query["CommandName"] = request.commandName; } if (!Util.isUnset(request.commandType)) { query["CommandType"] = request.commandType; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.includeOutput)) { query["IncludeOutput"] = request.includeOutput; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.invokeId)) { query["InvokeId"] = request.invokeId; } if (!Util.isUnset(request.invokeStatus)) { query["InvokeStatus"] = request.invokeStatus; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.repeatMode)) { query["RepeatMode"] = request.repeatMode; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.timed)) { query["Timed"] = request.timed; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeInvocations", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeInvocationsResponse({})); } /** * ## [](#)Usage notes * * After you run a command, the command may not succeed or return the expected results. You can call this operation to query the execution results. * * You can query information about command executions within the last four weeks. Up to 100,000 pieces of execution information can be retained. * * You can use one of the following methods to check the responses: * * Method 1: During a paged query, when you call the DescribeInvocations operation to retrieve the first page of results, use `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeInvocations operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * * Method 2: Use `PageSize` to specify the number of entries to return on each page, and then use `PageNumber` to specify the number of the page to return. You can use only one of the preceding methods. If you specify `MaxResults` or `NextToken`, the `PageSize` and `PageNumber` request parameters do not take effect and the `TotalCount` response parameter is invalid. * * @param request DescribeInvocationsRequest * @return DescribeInvocationsResponse */ async describeInvocations(request: DescribeInvocationsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeInvocationsWithOptions(request, runtime); } async describeKeyPairsWithOptions(request: DescribeKeyPairsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.includePublicKey)) { query["IncludePublicKey"] = request.includePublicKey; } if (!Util.isUnset(request.keyPairFingerPrint)) { query["KeyPairFingerPrint"] = request.keyPairFingerPrint; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeKeyPairs", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeKeyPairsResponse({})); } async describeKeyPairs(request: DescribeKeyPairsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeKeyPairsWithOptions(request, runtime); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeLaunchTemplateVersions\\&type=RPC\\&version=2014-05-26) * * @param request DescribeLaunchTemplateVersionsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeLaunchTemplateVersionsResponse */ async describeLaunchTemplateVersionsWithOptions(request: DescribeLaunchTemplateVersionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.defaultVersion)) { query["DefaultVersion"] = request.defaultVersion; } if (!Util.isUnset(request.detailFlag)) { query["DetailFlag"] = request.detailFlag; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.launchTemplateVersion)) { query["LaunchTemplateVersion"] = request.launchTemplateVersion; } if (!Util.isUnset(request.maxVersion)) { query["MaxVersion"] = request.maxVersion; } if (!Util.isUnset(request.minVersion)) { query["MinVersion"] = request.minVersion; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeLaunchTemplateVersions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeLaunchTemplateVersionsResponse({})); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeLaunchTemplateVersions\\&type=RPC\\&version=2014-05-26) * * @param request DescribeLaunchTemplateVersionsRequest * @return DescribeLaunchTemplateVersionsResponse */ async describeLaunchTemplateVersions(request: DescribeLaunchTemplateVersionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeLaunchTemplateVersionsWithOptions(request, runtime); } async describeLaunchTemplatesWithOptions(request: DescribeLaunchTemplatesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.templateResourceGroupId)) { query["TemplateResourceGroupId"] = request.templateResourceGroupId; } if (!Util.isUnset(request.templateTag)) { query["TemplateTag"] = request.templateTag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeLaunchTemplates", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeLaunchTemplatesResponse({})); } async describeLaunchTemplates(request: DescribeLaunchTemplatesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeLaunchTemplatesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeLimitationRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeLimitationResponse */ // Deprecated async describeLimitationWithOptions(request: DescribeLimitationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.limitation)) { query["Limitation"] = request.limitation; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeLimitation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeLimitationResponse({})); } /** * @deprecated * * @param request DescribeLimitationRequest * @return DescribeLimitationResponse */ // Deprecated async describeLimitation(request: DescribeLimitationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeLimitationWithOptions(request, runtime); } /** * You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeInstances operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in the call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeManagedInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeManagedInstancesResponse */ async describeManagedInstancesWithOptions(request: DescribeManagedInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.activationId)) { query["ActivationId"] = request.activationId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceIp)) { query["InstanceIp"] = request.instanceIp; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.osType)) { query["OsType"] = request.osType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeManagedInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeManagedInstancesResponse({})); } /** * You can use one of the following methods to check the responses: * - Method 1: When you call the DescribeInstances operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the DescribeInstances operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in the call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeManagedInstancesRequest * @return DescribeManagedInstancesResponse */ async describeManagedInstances(request: DescribeManagedInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeManagedInstancesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeNatGatewaysRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeNatGatewaysResponse */ // Deprecated async describeNatGatewaysWithOptions(request: DescribeNatGatewaysRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.natGatewayId)) { query["NatGatewayId"] = request.natGatewayId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeNatGateways", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeNatGatewaysResponse({})); } /** * @deprecated * * @param request DescribeNatGatewaysRequest * @return DescribeNatGatewaysResponse */ // Deprecated async describeNatGateways(request: DescribeNatGatewaysRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeNatGatewaysWithOptions(request, runtime); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeNetworkInterfaceAttribute\\&type=RPC\\&version=2014-05-26) * * @param request DescribeNetworkInterfaceAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeNetworkInterfaceAttributeResponse */ async describeNetworkInterfaceAttributeWithOptions(request: DescribeNetworkInterfaceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.attribute)) { query["Attribute"] = request.attribute; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeNetworkInterfaceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeNetworkInterfaceAttributeResponse({})); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeNetworkInterfaceAttribute\\&type=RPC\\&version=2014-05-26) * * @param request DescribeNetworkInterfaceAttributeRequest * @return DescribeNetworkInterfaceAttributeResponse */ async describeNetworkInterfaceAttribute(request: DescribeNetworkInterfaceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeNetworkInterfaceAttributeWithOptions(request, runtime); } async describeNetworkInterfacePermissionsWithOptions(request: DescribeNetworkInterfacePermissionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.networkInterfacePermissionId)) { query["NetworkInterfacePermissionId"] = request.networkInterfacePermissionId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeNetworkInterfacePermissions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeNetworkInterfacePermissionsResponse({})); } async describeNetworkInterfacePermissions(request: DescribeNetworkInterfacePermissionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeNetworkInterfacePermissionsWithOptions(request, runtime); } /** * ## [](#)Usage notes * The `DescribeNetworkInterfaces` operation supports paged queries. During a paged query, when you call the DescribeNetworkInterfaces operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeNetworkInterfaces operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * > If you specify `MaxResults` or `NextToken`, the system uses the preceding paged query method to return results. Otherwise, the system returns results based on the combination of `PageNumber` and `PageSize`. * * @param request DescribeNetworkInterfacesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeNetworkInterfacesResponse */ async describeNetworkInterfacesWithOptions(request: DescribeNetworkInterfacesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.networkInterfaceName)) { query["NetworkInterfaceName"] = request.networkInterfaceName; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.primaryIpAddress)) { query["PrimaryIpAddress"] = request.primaryIpAddress; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.serviceManaged)) { query["ServiceManaged"] = request.serviceManaged; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeNetworkInterfaces", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeNetworkInterfacesResponse({})); } /** * ## [](#)Usage notes * The `DescribeNetworkInterfaces` operation supports paged queries. During a paged query, when you call the DescribeNetworkInterfaces operation to retrieve the first page of results, set `MaxResults` to specify the maximum number of entries to return in the call. The return value of `NextToken` is a pagination token that can be used in the next call to retrieve a new page of results. When you call the DescribeNetworkInterfaces operation to retrieve a new page of results, set `NextToken` to the `NextToken` value returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. * > If you specify `MaxResults` or `NextToken`, the system uses the preceding paged query method to return results. Otherwise, the system returns results based on the combination of `PageNumber` and `PageSize`. * * @param request DescribeNetworkInterfacesRequest * @return DescribeNetworkInterfacesResponse */ async describeNetworkInterfaces(request: DescribeNetworkInterfacesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeNetworkInterfacesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeNewProjectEipMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeNewProjectEipMonitorDataResponse */ // Deprecated async describeNewProjectEipMonitorDataWithOptions(request: DescribeNewProjectEipMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeNewProjectEipMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeNewProjectEipMonitorDataResponse({})); } /** * @deprecated * * @param request DescribeNewProjectEipMonitorDataRequest * @return DescribeNewProjectEipMonitorDataResponse */ // Deprecated async describeNewProjectEipMonitorData(request: DescribeNewProjectEipMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeNewProjectEipMonitorDataWithOptions(request, runtime); } /** * @deprecated * * @param request DescribePhysicalConnectionsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribePhysicalConnectionsResponse */ // Deprecated async describePhysicalConnectionsWithOptions(request: DescribePhysicalConnectionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribePhysicalConnections", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribePhysicalConnectionsResponse({})); } /** * @deprecated * * @param request DescribePhysicalConnectionsRequest * @return DescribePhysicalConnectionsResponse */ // Deprecated async describePhysicalConnections(request: DescribePhysicalConnectionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describePhysicalConnectionsWithOptions(request, runtime); } async describePrefixListAssociationsWithOptions(request: DescribePrefixListAssociationsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListId)) { query["PrefixListId"] = request.prefixListId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribePrefixListAssociations", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribePrefixListAssociationsResponse({})); } async describePrefixListAssociations(request: DescribePrefixListAssociationsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describePrefixListAssociationsWithOptions(request, runtime); } async describePrefixListAttributesWithOptions(request: DescribePrefixListAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListId)) { query["PrefixListId"] = request.prefixListId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribePrefixListAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribePrefixListAttributesResponse({})); } async describePrefixListAttributes(request: DescribePrefixListAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describePrefixListAttributesWithOptions(request, runtime); } /** * ## Description * You can specify the `AddressFamily`, `PrefixListId.N`, and `PrefixListName` request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. * * @param request DescribePrefixListsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribePrefixListsResponse */ async describePrefixListsWithOptions(request: DescribePrefixListsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.addressFamily)) { query["AddressFamily"] = request.addressFamily; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListId)) { query["PrefixListId"] = request.prefixListId; } if (!Util.isUnset(request.prefixListName)) { query["PrefixListName"] = request.prefixListName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribePrefixLists", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribePrefixListsResponse({})); } /** * ## Description * You can specify the `AddressFamily`, `PrefixListId.N`, and `PrefixListName` request parameters to be queried. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. * * @param request DescribePrefixListsRequest * @return DescribePrefixListsResponse */ async describePrefixLists(request: DescribePrefixListsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describePrefixListsWithOptions(request, runtime); } /** * * The required parameters vary based on the type of resource whose prices you want to query. * * When `ResourceType` is set to instance, you must specify `InstanceType`. * * When `ResourceType` is set to disk, you must specify `DataDisk.1.Category` and `DataDisk.1.Size`. When `ResourceType` is set to disk, only pay-as-you-go prices of cloud disks are returned. In this case, `PriceUnit` can be set only to `Hour`. * * When `ResourceType` is set to ddh, you must specify `DedicatedHostType`. * * When `ResourceType` is set to ElasticityAssurance, you must specify `InstanceType`. * * When `ResourceType` is set to CapacityReservation, you must specify `InstanceType`. * * When `ResourceType` is set to bandwidth, only the pay-by-traffic (`PayByTraffic`) prices of network usage is returned. * * When `ResourceType` is set to instance, the prices of up to four data disks can be queried. * * By default, `ChargeType` is set to `PostPaid`. You can specify `PriceUnit` to query the prices of ECS resources that have different billing cycles. * * @param request DescribePriceRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribePriceResponse */ async describePriceWithOptions(request: DescribePriceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.amount)) { query["Amount"] = request.amount; } if (!Util.isUnset(request.assuranceTimes)) { query["AssuranceTimes"] = request.assuranceTimes; } if (!Util.isUnset(request.capacity)) { query["Capacity"] = request.capacity; } if (!Util.isUnset(request.dedicatedHostType)) { query["DedicatedHostType"] = request.dedicatedHostType; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.instanceAmount)) { query["InstanceAmount"] = request.instanceAmount; } if (!Util.isUnset(request.instanceCpuCoreCount)) { query["InstanceCpuCoreCount"] = request.instanceCpuCoreCount; } if (!Util.isUnset(request.instanceNetworkType)) { query["InstanceNetworkType"] = request.instanceNetworkType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.instanceTypeList)) { query["InstanceTypeList"] = request.instanceTypeList; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.isp)) { query["Isp"] = request.isp; } if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.priceUnit)) { query["PriceUnit"] = request.priceUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.scope)) { query["Scope"] = request.scope; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.schedulerOptions)) { query["SchedulerOptions"] = request.schedulerOptions; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribePrice", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribePriceResponse({})); } /** * * The required parameters vary based on the type of resource whose prices you want to query. * * When `ResourceType` is set to instance, you must specify `InstanceType`. * * When `ResourceType` is set to disk, you must specify `DataDisk.1.Category` and `DataDisk.1.Size`. When `ResourceType` is set to disk, only pay-as-you-go prices of cloud disks are returned. In this case, `PriceUnit` can be set only to `Hour`. * * When `ResourceType` is set to ddh, you must specify `DedicatedHostType`. * * When `ResourceType` is set to ElasticityAssurance, you must specify `InstanceType`. * * When `ResourceType` is set to CapacityReservation, you must specify `InstanceType`. * * When `ResourceType` is set to bandwidth, only the pay-by-traffic (`PayByTraffic`) prices of network usage is returned. * * When `ResourceType` is set to instance, the prices of up to four data disks can be queried. * * By default, `ChargeType` is set to `PostPaid`. You can specify `PriceUnit` to query the prices of ECS resources that have different billing cycles. * * @param request DescribePriceRequest * @return DescribePriceResponse */ async describePrice(request: DescribePriceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describePriceWithOptions(request, runtime); } async describeRecommendInstanceTypeWithOptions(request: DescribeRecommendInstanceTypeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cores)) { query["Cores"] = request.cores; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceFamilyLevel)) { query["InstanceFamilyLevel"] = request.instanceFamilyLevel; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.maxPrice)) { query["MaxPrice"] = request.maxPrice; } if (!Util.isUnset(request.memory)) { query["Memory"] = request.memory; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.priorityStrategy)) { query["PriorityStrategy"] = request.priorityStrategy; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.scene)) { query["Scene"] = request.scene; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.systemDiskCategory)) { query["SystemDiskCategory"] = request.systemDiskCategory; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.zoneMatchMode)) { query["ZoneMatchMode"] = request.zoneMatchMode; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeRecommendInstanceType", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeRecommendInstanceTypeResponse({})); } async describeRecommendInstanceType(request: DescribeRecommendInstanceTypeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeRecommendInstanceTypeWithOptions(request, runtime); } /** * **** * * @param request DescribeRegionsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeRegionsResponse */ async describeRegionsWithOptions(request: DescribeRegionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.acceptLanguage)) { query["AcceptLanguage"] = request.acceptLanguage; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeRegions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeRegionsResponse({})); } /** * **** * * @param request DescribeRegionsRequest * @return DescribeRegionsResponse */ async describeRegions(request: DescribeRegionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeRegionsWithOptions(request, runtime); } /** * * You can call this operation to query the price for renewing a subscription instance for a specific period of time or to a synchronized expiration date. * * Take note of the following items: * * If you specify only the required parameters, the price for renewing an instance for one month is queried by default. * * The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the synchronized expiration date-related parameter (`ExpectedRenewDay`) are mutually exclusive. You cannot set these parameters together to query the prices for renewing a specified instance for a period of time and to a synchronized expiration date at the same time. * * @param request DescribeRenewalPriceRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeRenewalPriceResponse */ async describeRenewalPriceWithOptions(request: DescribeRenewalPriceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.expectedRenewDay)) { query["ExpectedRenewDay"] = request.expectedRenewDay; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.priceUnit)) { query["PriceUnit"] = request.priceUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeRenewalPrice", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeRenewalPriceResponse({})); } /** * * You can call this operation to query the price for renewing a subscription instance for a specific period of time or to a synchronized expiration date. * * Take note of the following items: * * If you specify only the required parameters, the price for renewing an instance for one month is queried by default. * * The renewal period-related parameter pair (`Period` and `PeriodUnit`) and the synchronized expiration date-related parameter (`ExpectedRenewDay`) are mutually exclusive. You cannot set these parameters together to query the prices for renewing a specified instance for a period of time and to a synchronized expiration date at the same time. * * @param request DescribeRenewalPriceRequest * @return DescribeRenewalPriceResponse */ async describeRenewalPrice(request: DescribeRenewalPriceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeRenewalPriceWithOptions(request, runtime); } async describeReservedInstanceAutoRenewAttributeWithOptions(request: DescribeReservedInstanceAutoRenewAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeReservedInstanceAutoRenewAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeReservedInstanceAutoRenewAttributeResponse({})); } async describeReservedInstanceAutoRenewAttribute(request: DescribeReservedInstanceAutoRenewAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeReservedInstanceAutoRenewAttributeWithOptions(request, runtime); } async describeReservedInstancesWithOptions(request: DescribeReservedInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationType)) { query["AllocationType"] = request.allocationType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.lockReason)) { query["LockReason"] = request.lockReason; } if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.reservedInstanceName)) { query["ReservedInstanceName"] = request.reservedInstanceName; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.scope)) { query["Scope"] = request.scope; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeReservedInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeReservedInstancesResponse({})); } async describeReservedInstances(request: DescribeReservedInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeReservedInstancesWithOptions(request, runtime); } async describeResourceByTagsWithOptions(request: DescribeResourceByTagsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeResourceByTags", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeResourceByTagsResponse({})); } async describeResourceByTags(request: DescribeResourceByTagsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeResourceByTagsWithOptions(request, runtime); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeResourcesModification\\&type=RPC\\&version=2014-05-26) * * @param request DescribeResourcesModificationRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeResourcesModificationResponse */ async describeResourcesModificationWithOptions(request: DescribeResourcesModificationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.conditions)) { query["Conditions"] = request.conditions; } if (!Util.isUnset(request.cores)) { query["Cores"] = request.cores; } if (!Util.isUnset(request.destinationResource)) { query["DestinationResource"] = request.destinationResource; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.memory)) { query["Memory"] = request.memory; } if (!Util.isUnset(request.migrateAcrossZone)) { query["MigrateAcrossZone"] = request.migrateAcrossZone; } if (!Util.isUnset(request.operationType)) { query["OperationType"] = request.operationType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeResourcesModification", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeResourcesModificationResponse({})); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeResourcesModification\\&type=RPC\\&version=2014-05-26) * * @param request DescribeResourcesModificationRequest * @return DescribeResourcesModificationResponse */ async describeResourcesModification(request: DescribeResourcesModificationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeResourcesModificationWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeRouteTablesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeRouteTablesResponse */ // Deprecated async describeRouteTablesWithOptions(request: DescribeRouteTablesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routeTableId)) { query["RouteTableId"] = request.routeTableId; } if (!Util.isUnset(request.routeTableName)) { query["RouteTableName"] = request.routeTableName; } if (!Util.isUnset(request.routerId)) { query["RouterId"] = request.routerId; } if (!Util.isUnset(request.routerType)) { query["RouterType"] = request.routerType; } if (!Util.isUnset(request.VRouterId)) { query["VRouterId"] = request.VRouterId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeRouteTables", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeRouteTablesResponse({})); } /** * @deprecated * * @param request DescribeRouteTablesRequest * @return DescribeRouteTablesResponse */ // Deprecated async describeRouteTables(request: DescribeRouteTablesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeRouteTablesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeRouterInterfacesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeRouterInterfacesResponse */ // Deprecated async describeRouterInterfacesWithOptions(request: DescribeRouterInterfacesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeRouterInterfaces", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeRouterInterfacesResponse({})); } /** * @deprecated * * @param request DescribeRouterInterfacesRequest * @return DescribeRouterInterfacesResponse */ // Deprecated async describeRouterInterfaces(request: DescribeRouterInterfacesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeRouterInterfacesWithOptions(request, runtime); } async describeSavingsPlanEstimationWithOptions(request: DescribeSavingsPlanEstimationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.planType)) { query["PlanType"] = request.planType; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSavingsPlanEstimation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSavingsPlanEstimationResponse({})); } async describeSavingsPlanEstimation(request: DescribeSavingsPlanEstimationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSavingsPlanEstimationWithOptions(request, runtime); } async describeSavingsPlanPriceWithOptions(request: DescribeSavingsPlanPriceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.committedAmount)) { query["CommittedAmount"] = request.committedAmount; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.planType)) { query["PlanType"] = request.planType; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSavingsPlanPrice", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSavingsPlanPriceResponse({})); } async describeSavingsPlanPrice(request: DescribeSavingsPlanPriceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSavingsPlanPriceWithOptions(request, runtime); } async describeSecurityGroupAttributeWithOptions(request: DescribeSecurityGroupAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.direction)) { query["Direction"] = request.direction; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSecurityGroupAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSecurityGroupAttributeResponse({})); } async describeSecurityGroupAttribute(request: DescribeSecurityGroupAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSecurityGroupAttributeWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * A security group can be referenced by the inbound or outbound rules of other security groups. * * Up to 100 entries can be returned each time. * * If a security group cannot be deleted by calling the [DeleteSecurityGroup](~~25558~~) operation, you can call the DescribeSecurityGroupReferences operation to check whether the security group is referenced by the rules of other security groups. If the security group is referenced by the rules of other security groups, you must remove the reference before you can delete the security group. * * @param request DescribeSecurityGroupReferencesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSecurityGroupReferencesResponse */ async describeSecurityGroupReferencesWithOptions(request: DescribeSecurityGroupReferencesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSecurityGroupReferences", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSecurityGroupReferencesResponse({})); } /** * When you call this operation, take note of the following items: * * A security group can be referenced by the inbound or outbound rules of other security groups. * * Up to 100 entries can be returned each time. * * If a security group cannot be deleted by calling the [DeleteSecurityGroup](~~25558~~) operation, you can call the DescribeSecurityGroupReferences operation to check whether the security group is referenced by the rules of other security groups. If the security group is referenced by the rules of other security groups, you must remove the reference before you can delete the security group. * * @param request DescribeSecurityGroupReferencesRequest * @return DescribeSecurityGroupReferencesResponse */ async describeSecurityGroupReferences(request: DescribeSecurityGroupReferencesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSecurityGroupReferencesWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * The basic information about security groups includes their IDs and descriptions. The response returns security groups in descending order of the IDs of the security groups. * * We recommend that you use `MaxResults` and `NextToken` for a paged query. We recommend that you use `MaxResults` to specify the maximum number of entries to return for each request. The return value of `NextToken` is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeSecurityGroups operation to retrieve a new page of results, set `NextToken` to the `NextToken` value that is returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. If the return value of `NextToken` is empty, the current page of results is the last page and no more results are to be returned. * * When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeSecurityGroupsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSecurityGroupsResponse */ async describeSecurityGroupsWithOptions(request: DescribeSecurityGroupsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.fuzzyQuery)) { query["FuzzyQuery"] = request.fuzzyQuery; } if (!Util.isUnset(request.isQueryEcsCount)) { query["IsQueryEcsCount"] = request.isQueryEcsCount; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.securityGroupName)) { query["SecurityGroupName"] = request.securityGroupName; } if (!Util.isUnset(request.securityGroupType)) { query["SecurityGroupType"] = request.securityGroupType; } if (!Util.isUnset(request.serviceManaged)) { query["ServiceManaged"] = request.serviceManaged; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSecurityGroups", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSecurityGroupsResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * The basic information about security groups includes their IDs and descriptions. The response returns security groups in descending order of the IDs of the security groups. * * We recommend that you use `MaxResults` and `NextToken` for a paged query. We recommend that you use `MaxResults` to specify the maximum number of entries to return for each request. The return value of `NextToken` is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeSecurityGroups operation to retrieve a new page of results, set `NextToken` to the `NextToken` value that is returned in the previous call and set `MaxResults` to specify the maximum number of entries to return in this call. If the return value of `NextToken` is empty, the current page of results is the last page and no more results are to be returned. * * When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeSecurityGroupsRequest * @return DescribeSecurityGroupsResponse */ async describeSecurityGroups(request: DescribeSecurityGroupsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSecurityGroupsWithOptions(request, runtime); } /** * ## Usage notes * * When you send a file, the file may fail to be sent to specified Elastic Compute Service (ECS) instances. You can call this operation to check the file sending results. * * You can call this operation to query the file sending records within the last six weeks. * - You can use one of the following methods to check the responses: * - Method 1: During a paged query, when you call the DescribeSendFileResults operation to retrieve the first page of results, set MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeSendFileResults operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeSendFileResultsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSendFileResultsResponse */ async describeSendFileResultsWithOptions(request: DescribeSendFileResultsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.invocationStatus)) { query["InvocationStatus"] = request.invocationStatus; } if (!Util.isUnset(request.invokeId)) { query["InvokeId"] = request.invokeId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSendFileResults", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSendFileResultsResponse({})); } /** * ## Usage notes * * When you send a file, the file may fail to be sent to specified Elastic Compute Service (ECS) instances. You can call this operation to check the file sending results. * * You can call this operation to query the file sending records within the last six weeks. * - You can use one of the following methods to check the responses: * - Method 1: During a paged query, when you call the DescribeSendFileResults operation to retrieve the first page of results, set MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. When you call the DescribeSendFileResults operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and set MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request DescribeSendFileResultsRequest * @return DescribeSendFileResultsResponse */ async describeSendFileResults(request: DescribeSendFileResultsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSendFileResultsWithOptions(request, runtime); } /** * ## [](#)Usage notes * You can specify multiple request parameters to be queried, such as `InstanceId`, `SnapshotGroupId.N`, and `Status.N`. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. * * @param request DescribeSnapshotGroupsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSnapshotGroupsResponse */ async describeSnapshotGroupsWithOptions(request: DescribeSnapshotGroupsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.additionalAttributes)) { query["AdditionalAttributes"] = request.additionalAttributes; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotGroupId)) { query["SnapshotGroupId"] = request.snapshotGroupId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshotGroups", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotGroupsResponse({})); } /** * ## [](#)Usage notes * You can specify multiple request parameters to be queried, such as `InstanceId`, `SnapshotGroupId.N`, and `Status.N`. Specified parameters have logical AND relations. Only the specified parameters are included in the filter conditions. * * @param request DescribeSnapshotGroupsRequest * @return DescribeSnapshotGroupsResponse */ async describeSnapshotGroups(request: DescribeSnapshotGroupsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotGroupsWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * You can specify multiple request parameters, such as `RegionId`, `DiskIds`, and `InstanceId`, to query snapshot chains. Specified parameters have logical AND relations. * * Only the specified parameters are used as filter conditions. If the `DiskIds` and `SnapshotLinkIds` parameters are set to empty JSON arrays, the values are considered as valid filter conditions. In this case, an empty result is returned. * * @param request DescribeSnapshotLinksRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSnapshotLinksResponse */ async describeSnapshotLinksWithOptions(request: DescribeSnapshotLinksRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskIds)) { query["DiskIds"] = request.diskIds; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotLinkIds)) { query["SnapshotLinkIds"] = request.snapshotLinkIds; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshotLinks", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotLinksResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * You can specify multiple request parameters, such as `RegionId`, `DiskIds`, and `InstanceId`, to query snapshot chains. Specified parameters have logical AND relations. * * Only the specified parameters are used as filter conditions. If the `DiskIds` and `SnapshotLinkIds` parameters are set to empty JSON arrays, the values are considered as valid filter conditions. In this case, an empty result is returned. * * @param request DescribeSnapshotLinksRequest * @return DescribeSnapshotLinksResponse */ async describeSnapshotLinks(request: DescribeSnapshotLinksRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotLinksWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data of snapshot sizes in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeSnapshotMonitorDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSnapshotMonitorDataResponse */ async describeSnapshotMonitorDataWithOptions(request: DescribeSnapshotMonitorDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.category)) { query["Category"] = request.category; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshotMonitorData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotMonitorDataResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * Up to 400 monitoring data entries can be returned at a time. Make sure that the `TotalCount` value does not exceed 400. The value is calculated by using the following formula: `TotalCount = (EndTime - StartTime)/Period`. If the TotalCount value is greater than 400, the `InvalidParameter.TooManyDataQueried` error is returned. * * You can query the monitoring data of snapshot sizes in the last 30 days. If the value of `StartTime` is more than 30 days earlier than the current time, an error is returned. * * @param request DescribeSnapshotMonitorDataRequest * @return DescribeSnapshotMonitorDataResponse */ async describeSnapshotMonitorData(request: DescribeSnapshotMonitorDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotMonitorDataWithOptions(request, runtime); } async describeSnapshotPackageWithOptions(request: DescribeSnapshotPackageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshotPackage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotPackageResponse({})); } async describeSnapshotPackage(request: DescribeSnapshotPackageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotPackageWithOptions(request, runtime); } /** * You can configure multiple request parameters such as `InstanceId`, `DiskId`, and `SnapshotIds` to query snapshots. Configured parameters have logical AND relations. Only the configured parameters are included in the filter conditions. * When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeSnapshotsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSnapshotsResponse */ async describeSnapshotsWithOptions(request: DescribeSnapshotsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.category)) { query["Category"] = request.category; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotIds)) { query["SnapshotIds"] = request.snapshotIds; } if (!Util.isUnset(request.snapshotLinkId)) { query["SnapshotLinkId"] = request.snapshotLinkId; } if (!Util.isUnset(request.snapshotName)) { query["SnapshotName"] = request.snapshotName; } if (!Util.isUnset(request.snapshotType)) { query["SnapshotType"] = request.snapshotType; } if (!Util.isUnset(request.sourceDiskType)) { query["SourceDiskType"] = request.sourceDiskType; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.usage)) { query["Usage"] = request.usage; } if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshots", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotsResponse({})); } /** * You can configure multiple request parameters such as `InstanceId`, `DiskId`, and `SnapshotIds` to query snapshots. Configured parameters have logical AND relations. Only the configured parameters are included in the filter conditions. * When you use Alibaba Cloud CLI to call an API operation, you must specify request parameter values of different data types in required formats. For more information, see [Parameter format overview](~~110340~~). * * @param request DescribeSnapshotsRequest * @return DescribeSnapshotsResponse */ async describeSnapshots(request: DescribeSnapshotsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotsWithOptions(request, runtime); } /** * ## [](#)Usage notes * If you want to view the snapshot usage of each disk in the current region, we recommend that you call the [DescribeSnapshotLinks](~~55837~~) operation to query snapshot chain information. * * @param request DescribeSnapshotsUsageRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSnapshotsUsageResponse */ async describeSnapshotsUsageWithOptions(request: DescribeSnapshotsUsageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSnapshotsUsage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSnapshotsUsageResponse({})); } /** * ## [](#)Usage notes * If you want to view the snapshot usage of each disk in the current region, we recommend that you call the [DescribeSnapshotLinks](~~55837~~) operation to query snapshot chain information. * * @param request DescribeSnapshotsUsageRequest * @return DescribeSnapshotsUsageResponse */ async describeSnapshotsUsage(request: DescribeSnapshotsUsageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSnapshotsUsageWithOptions(request, runtime); } /** * * You can call this operation to query information that is generated for preemptible instances in the last 30 days and select suitable instance types based on the query results. The information that you can query includes: * * Average release rate of preemptible instances * * Percentage of the average preemptible instance price relative to the pay-as-you-go instance price * * Average preemptible instance price that is calculated based on the preceding percentage * * This operation is applicable only to I/O optimized preemptible instances that reside in virtual private clouds (VPCs). * * You can use one of the following methods to query information that is generated for preemptible instances in the last 30 days: * * Configure `Cores` and `Memory` or `MinCores` and `MinMemory` to query information about an instance type that meets the specified vCPU and memory requirements. * * Configure the `InstanceTypes.N` parameter to query information about a specified instance type. * * Configure `Cores` and `Memory` or `MinCores` and `MinMemory`, and then configure `InstanceTypeFamily` or `InstanceFamilyLevel` to query information about an instance type that meets the specified vCPU and memory requirements within the specified instance family or at a specified instance family level. * * @param request DescribeSpotAdviceRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeSpotAdviceResponse */ async describeSpotAdviceWithOptions(request: DescribeSpotAdviceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cores)) { query["Cores"] = request.cores; } if (!Util.isUnset(request.gpuAmount)) { query["GpuAmount"] = request.gpuAmount; } if (!Util.isUnset(request.gpuSpec)) { query["GpuSpec"] = request.gpuSpec; } if (!Util.isUnset(request.instanceFamilyLevel)) { query["InstanceFamilyLevel"] = request.instanceFamilyLevel; } if (!Util.isUnset(request.instanceTypeFamily)) { query["InstanceTypeFamily"] = request.instanceTypeFamily; } if (!Util.isUnset(request.instanceTypes)) { query["InstanceTypes"] = request.instanceTypes; } if (!Util.isUnset(request.memory)) { query["Memory"] = request.memory; } if (!Util.isUnset(request.minCores)) { query["MinCores"] = request.minCores; } if (!Util.isUnset(request.minMemory)) { query["MinMemory"] = request.minMemory; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSpotAdvice", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSpotAdviceResponse({})); } /** * * You can call this operation to query information that is generated for preemptible instances in the last 30 days and select suitable instance types based on the query results. The information that you can query includes: * * Average release rate of preemptible instances * * Percentage of the average preemptible instance price relative to the pay-as-you-go instance price * * Average preemptible instance price that is calculated based on the preceding percentage * * This operation is applicable only to I/O optimized preemptible instances that reside in virtual private clouds (VPCs). * * You can use one of the following methods to query information that is generated for preemptible instances in the last 30 days: * * Configure `Cores` and `Memory` or `MinCores` and `MinMemory` to query information about an instance type that meets the specified vCPU and memory requirements. * * Configure the `InstanceTypes.N` parameter to query information about a specified instance type. * * Configure `Cores` and `Memory` or `MinCores` and `MinMemory`, and then configure `InstanceTypeFamily` or `InstanceFamilyLevel` to query information about an instance type that meets the specified vCPU and memory requirements within the specified instance family or at a specified instance family level. * * @param request DescribeSpotAdviceRequest * @return DescribeSpotAdviceResponse */ async describeSpotAdvice(request: DescribeSpotAdviceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSpotAdviceWithOptions(request, runtime); } async describeSpotPriceHistoryWithOptions(request: DescribeSpotPriceHistoryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.networkType)) { query["NetworkType"] = request.networkType; } if (!Util.isUnset(request.OSType)) { query["OSType"] = request.OSType; } if (!Util.isUnset(request.offset)) { query["Offset"] = request.offset; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeSpotPriceHistory", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeSpotPriceHistoryResponse({})); } async describeSpotPriceHistory(request: DescribeSpotPriceHistoryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeSpotPriceHistoryWithOptions(request, runtime); } async describeStorageCapacityUnitsWithOptions(request: DescribeStorageCapacityUnitsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationType)) { query["AllocationType"] = request.allocationType; } if (!Util.isUnset(request.capacity)) { query["Capacity"] = request.capacity; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } if (!Util.isUnset(request.storageCapacityUnitId)) { query["StorageCapacityUnitId"] = request.storageCapacityUnitId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeStorageCapacityUnits", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeStorageCapacityUnitsResponse({})); } async describeStorageCapacityUnits(request: DescribeStorageCapacityUnitsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeStorageCapacityUnitsWithOptions(request, runtime); } async describeStorageSetDetailsWithOptions(request: DescribeStorageSetDetailsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.diskIds)) { query["DiskIds"] = request.diskIds; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } if (!Util.isUnset(request.storageSetPartitionNumber)) { query["StorageSetPartitionNumber"] = request.storageSetPartitionNumber; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeStorageSetDetails", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeStorageSetDetailsResponse({})); } async describeStorageSetDetails(request: DescribeStorageSetDetailsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeStorageSetDetailsWithOptions(request, runtime); } async describeStorageSetsWithOptions(request: DescribeStorageSetsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageSetIds)) { query["StorageSetIds"] = request.storageSetIds; } if (!Util.isUnset(request.storageSetName)) { query["StorageSetName"] = request.storageSetName; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeStorageSets", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeStorageSetsResponse({})); } async describeStorageSets(request: DescribeStorageSetsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeStorageSetsWithOptions(request, runtime); } /** * If a tag key that has no tag value is specified, all tags that contain the tag key are returned. If a tag key-value pair is specified, only tags that exactly match the key-value pair are returned. * * @param request DescribeTagsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeTagsResponse */ async describeTagsWithOptions(request: DescribeTagsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.category)) { query["Category"] = request.category; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeTags", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeTagsResponse({})); } /** * If a tag key that has no tag value is specified, all tags that contain the tag key are returned. If a tag key-value pair is specified, only tags that exactly match the key-value pair are returned. * * @param request DescribeTagsRequest * @return DescribeTagsResponse */ async describeTags(request: DescribeTagsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeTagsWithOptions(request, runtime); } async describeTaskAttributeWithOptions(request: DescribeTaskAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.taskId)) { query["TaskId"] = request.taskId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeTaskAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeTaskAttributeResponse({})); } async describeTaskAttribute(request: DescribeTaskAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeTaskAttributeWithOptions(request, runtime); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeTasks\\&type=RPC\\&version=2014-05-26) * * @param request DescribeTasksRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeTasksResponse */ async describeTasksWithOptions(request: DescribeTasksRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceIds)) { query["ResourceIds"] = request.resourceIds; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.taskAction)) { query["TaskAction"] = request.taskAction; } if (!Util.isUnset(request.taskIds)) { query["TaskIds"] = request.taskIds; } if (!Util.isUnset(request.taskStatus)) { query["TaskStatus"] = request.taskStatus; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeTasks", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeTasksResponse({})); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=DescribeTasks\\&type=RPC\\&version=2014-05-26) * * @param request DescribeTasksRequest * @return DescribeTasksResponse */ async describeTasks(request: DescribeTasksRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeTasksWithOptions(request, runtime); } /** * You can query the session records of Session Manager that were generated in the last four weeks. * * @param request DescribeTerminalSessionsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeTerminalSessionsResponse */ async describeTerminalSessionsWithOptions(request: DescribeTerminalSessionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.sessionId)) { query["SessionId"] = request.sessionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeTerminalSessions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeTerminalSessionsResponse({})); } /** * You can query the session records of Session Manager that were generated in the last four weeks. * * @param request DescribeTerminalSessionsRequest * @return DescribeTerminalSessionsResponse */ async describeTerminalSessions(request: DescribeTerminalSessionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeTerminalSessionsWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeUserBusinessBehaviorRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeUserBusinessBehaviorResponse */ // Deprecated async describeUserBusinessBehaviorWithOptions(request: DescribeUserBusinessBehaviorRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.statusKey)) { query["statusKey"] = request.statusKey; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeUserBusinessBehavior", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeUserBusinessBehaviorResponse({})); } /** * @deprecated * * @param request DescribeUserBusinessBehaviorRequest * @return DescribeUserBusinessBehaviorResponse */ // Deprecated async describeUserBusinessBehavior(request: DescribeUserBusinessBehaviorRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeUserBusinessBehaviorWithOptions(request, runtime); } /** * ## Description * * The returned user data is encoded in Base64. * * If the instance does not have user data configured, an empty result is returned. * * @param request DescribeUserDataRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeUserDataResponse */ async describeUserDataWithOptions(request: DescribeUserDataRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeUserData", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeUserDataResponse({})); } /** * ## Description * * The returned user data is encoded in Base64. * * If the instance does not have user data configured, an empty result is returned. * * @param request DescribeUserDataRequest * @return DescribeUserDataResponse */ async describeUserData(request: DescribeUserDataRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeUserDataWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeVRoutersRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeVRoutersResponse */ // Deprecated async describeVRoutersWithOptions(request: DescribeVRoutersRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.VRouterId)) { query["VRouterId"] = request.VRouterId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeVRouters", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeVRoutersResponse({})); } /** * @deprecated * * @param request DescribeVRoutersRequest * @return DescribeVRoutersResponse */ // Deprecated async describeVRouters(request: DescribeVRoutersRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeVRoutersWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeVSwitchesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeVSwitchesResponse */ // Deprecated async describeVSwitchesWithOptions(request: DescribeVSwitchesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.isDefault)) { query["IsDefault"] = request.isDefault; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeVSwitches", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeVSwitchesResponse({})); } /** * @deprecated * * @param request DescribeVSwitchesRequest * @return DescribeVSwitchesResponse */ // Deprecated async describeVSwitches(request: DescribeVSwitchesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeVSwitchesWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeVirtualBorderRoutersRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeVirtualBorderRoutersResponse */ // Deprecated async describeVirtualBorderRoutersWithOptions(request: DescribeVirtualBorderRoutersRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeVirtualBorderRouters", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeVirtualBorderRoutersResponse({})); } /** * @deprecated * * @param request DescribeVirtualBorderRoutersRequest * @return DescribeVirtualBorderRoutersResponse */ // Deprecated async describeVirtualBorderRouters(request: DescribeVirtualBorderRoutersRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeVirtualBorderRoutersWithOptions(request, runtime); } /** * @deprecated * * @param request DescribeVirtualBorderRoutersForPhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeVirtualBorderRoutersForPhysicalConnectionResponse */ // Deprecated async describeVirtualBorderRoutersForPhysicalConnectionWithOptions(request: DescribeVirtualBorderRoutersForPhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.filter)) { query["Filter"] = request.filter; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeVirtualBorderRoutersForPhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeVirtualBorderRoutersForPhysicalConnectionResponse({})); } /** * @deprecated * * @param request DescribeVirtualBorderRoutersForPhysicalConnectionRequest * @return DescribeVirtualBorderRoutersForPhysicalConnectionResponse */ // Deprecated async describeVirtualBorderRoutersForPhysicalConnection(request: DescribeVirtualBorderRoutersForPhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeVirtualBorderRoutersForPhysicalConnectionWithOptions(request, runtime); } /** * @deprecated : DescribeVpcs is deprecated, please use Vpc::2016-04-28::DescribeVpcs instead. * * @param request DescribeVpcsRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeVpcsResponse */ // Deprecated async describeVpcsWithOptions(request: DescribeVpcsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.isDefault)) { query["IsDefault"] = request.isDefault; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeVpcs", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeVpcsResponse({})); } /** * @deprecated : DescribeVpcs is deprecated, please use Vpc::2016-04-28::DescribeVpcs instead. * * @param request DescribeVpcsRequest * @return DescribeVpcsResponse */ // Deprecated async describeVpcs(request: DescribeVpcsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeVpcsWithOptions(request, runtime); } /** * When you call this operation, only a list of zones and some resource information of each zone are returned. If you want to query instance types and disk categories that are available for purchase in a specific zone, we recommend that you call the [DescribeAvailableResource](~~66186~~) operation. * * @param request DescribeZonesRequest * @param runtime runtime options for this request RuntimeOptions * @return DescribeZonesResponse */ async describeZonesWithOptions(request: DescribeZonesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.acceptLanguage)) { query["AcceptLanguage"] = request.acceptLanguage; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.verbose)) { query["Verbose"] = request.verbose; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DescribeZones", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DescribeZonesResponse({})); } /** * When you call this operation, only a list of zones and some resource information of each zone are returned. If you want to query instance types and disk categories that are available for purchase in a specific zone, we recommend that you call the [DescribeAvailableResource](~~66186~~) operation. * * @param request DescribeZonesRequest * @return DescribeZonesResponse */ async describeZones(request: DescribeZonesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.describeZonesWithOptions(request, runtime); } async detachClassicLinkVpcWithOptions(request: DetachClassicLinkVpcRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DetachClassicLinkVpc", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DetachClassicLinkVpcResponse({})); } async detachClassicLinkVpc(request: DetachClassicLinkVpcRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.detachClassicLinkVpcWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The disk that you want to detach must be in the `In_Use` state. * * The instance from which you want to detach a pay-as-you-go data disk must be in the **Running** or **Stopped** state.```` * * The instance from which you want to detach a system disk must be in the **Stopped** state.`` * * If the `OperationLocks` parameter in the response contains `"LockReason" : "security"`, the instance is locked for security reasons and no operations are allowed on the instance. * * DetachDisk is an asynchronous operation. After you call the operation, a disk is detached from an instance in approximately 1 minute. * * @param request DetachDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return DetachDiskResponse */ async detachDiskWithOptions(request: DetachDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deleteWithInstance)) { query["DeleteWithInstance"] = request.deleteWithInstance; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DetachDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DetachDiskResponse({})); } /** * When you call this operation, take note of the following items: * * The disk that you want to detach must be in the `In_Use` state. * * The instance from which you want to detach a pay-as-you-go data disk must be in the **Running** or **Stopped** state.```` * * The instance from which you want to detach a system disk must be in the **Stopped** state.`` * * If the `OperationLocks` parameter in the response contains `"LockReason" : "security"`, the instance is locked for security reasons and no operations are allowed on the instance. * * DetachDisk is an asynchronous operation. After you call the operation, a disk is detached from an instance in approximately 1 minute. * * @param request DetachDiskRequest * @return DetachDiskResponse */ async detachDisk(request: DetachDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.detachDiskWithOptions(request, runtime); } async detachInstanceRamRoleWithOptions(request: DetachInstanceRamRoleRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DetachInstanceRamRole", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DetachInstanceRamRoleResponse({})); } async detachInstanceRamRole(request: DetachInstanceRamRoleRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.detachInstanceRamRoleWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * After you unbind an SSH key pair from an instance, you must call the [RebootInstance](~~25502~~) operation to restart the instance to allow the unbind operation to take effect. * * After you unbind an SSH key pair from an instance, the username and password authentication method is selected for the instance. * * @param request DetachKeyPairRequest * @param runtime runtime options for this request RuntimeOptions * @return DetachKeyPairResponse */ async detachKeyPairWithOptions(request: DetachKeyPairRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DetachKeyPair", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DetachKeyPairResponse({})); } /** * When you call this operation, take note of the following items: * * After you unbind an SSH key pair from an instance, you must call the [RebootInstance](~~25502~~) operation to restart the instance to allow the unbind operation to take effect. * * After you unbind an SSH key pair from an instance, the username and password authentication method is selected for the instance. * * @param request DetachKeyPairRequest * @return DetachKeyPairResponse */ async detachKeyPair(request: DetachKeyPairRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.detachKeyPairWithOptions(request, runtime); } /** * Take note of the following items: * * You cannot detach the primary ENI of an instance. * * Make sure that the ENI to be detached is in the Detaching (Unbinding) or InUse (Bound) state. * * Make sure that the instance from which you want to detach an ENI is in the Running (Running) or Stopped (Stopped) state. * * The DetachNetworkInterface operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the status or events of the ENI to determine whether the ENI is detached. The following figure shows the transitions between the states of the ENI.![](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20230223/uemr/DetachNetworkInterface.png) * * If the ENI is in the Detaching state, the ENI detachment request is sent and the ENI is being detached from the associated instance. * * If the ENI is in the Available state, the ENI is detached from the associated instance. * * If the ENI is stuck in the Detaching state, the ENI may fail to be detached from the associated instance due to specific reasons. For example, the ENI may fail to be detached because the operating system of the instance did not respond to the ENI detachment request. If this issue occurs, you can re-initiate the request to detach the ENI. If the issue persists, restart the instance. * For information about examples on how to call the DetachNetworkInterface operation, see [Detach an ENI from an ECS instance](~~471551~~). * * @param request DetachNetworkInterfaceRequest * @param runtime runtime options for this request RuntimeOptions * @return DetachNetworkInterfaceResponse */ async detachNetworkInterfaceWithOptions(request: DetachNetworkInterfaceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.trunkNetworkInstanceId)) { query["TrunkNetworkInstanceId"] = request.trunkNetworkInstanceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DetachNetworkInterface", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DetachNetworkInterfaceResponse({})); } /** * Take note of the following items: * * You cannot detach the primary ENI of an instance. * * Make sure that the ENI to be detached is in the Detaching (Unbinding) or InUse (Bound) state. * * Make sure that the instance from which you want to detach an ENI is in the Running (Running) or Stopped (Stopped) state. * * The DetachNetworkInterface operation is an asynchronous operation. After this operation is called to detach an ENI, you can check the status or events of the ENI to determine whether the ENI is detached. The following figure shows the transitions between the states of the ENI.![](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20230223/uemr/DetachNetworkInterface.png) * * If the ENI is in the Detaching state, the ENI detachment request is sent and the ENI is being detached from the associated instance. * * If the ENI is in the Available state, the ENI is detached from the associated instance. * * If the ENI is stuck in the Detaching state, the ENI may fail to be detached from the associated instance due to specific reasons. For example, the ENI may fail to be detached because the operating system of the instance did not respond to the ENI detachment request. If this issue occurs, you can re-initiate the request to detach the ENI. If the issue persists, restart the instance. * For information about examples on how to call the DetachNetworkInterface operation, see [Detach an ENI from an ECS instance](~~471551~~). * * @param request DetachNetworkInterfaceRequest * @return DetachNetworkInterfaceResponse */ async detachNetworkInterface(request: DetachNetworkInterfaceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.detachNetworkInterfaceWithOptions(request, runtime); } /** * The region ID. The following regions are supported: 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](~~25609~~) operation to query the most recent region list. * * @param request DisableActivationRequest * @param runtime runtime options for this request RuntimeOptions * @return DisableActivationResponse */ async disableActivationWithOptions(request: DisableActivationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.activationId)) { query["ActivationId"] = request.activationId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "DisableActivation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new DisableActivationResponse({})); } /** * The region ID. The following regions are supported: 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](~~25609~~) operation to query the most recent region list. * * @param request DisableActivationRequest * @return DisableActivationResponse */ async disableActivation(request: DisableActivationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.disableActivationWithOptions(request, runtime); } /** * @deprecated * * @param request EipFillParamsRequest * @param runtime runtime options for this request RuntimeOptions * @return EipFillParamsResponse */ // Deprecated async eipFillParamsWithOptions(request: EipFillParamsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.data)) { query["data"] = request.data; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "EipFillParams", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new EipFillParamsResponse({})); } /** * @deprecated * * @param request EipFillParamsRequest * @return EipFillParamsResponse */ // Deprecated async eipFillParams(request: EipFillParamsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.eipFillParamsWithOptions(request, runtime); } /** * @deprecated * * @param request EipFillProductRequest * @param runtime runtime options for this request RuntimeOptions * @return EipFillProductResponse */ // Deprecated async eipFillProductWithOptions(request: EipFillProductRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.data)) { query["data"] = request.data; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "EipFillProduct", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new EipFillProductResponse({})); } /** * @deprecated * * @param request EipFillProductRequest * @return EipFillProductResponse */ // Deprecated async eipFillProduct(request: EipFillProductRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.eipFillProductWithOptions(request, runtime); } /** * @deprecated * * @param request EipNotifyPaidRequest * @param runtime runtime options for this request RuntimeOptions * @return EipNotifyPaidResponse */ // Deprecated async eipNotifyPaidWithOptions(request: EipNotifyPaidRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.data)) { query["data"] = request.data; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "EipNotifyPaid", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new EipNotifyPaidResponse({})); } /** * @deprecated * * @param request EipNotifyPaidRequest * @return EipNotifyPaidResponse */ // Deprecated async eipNotifyPaid(request: EipNotifyPaidRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.eipNotifyPaidWithOptions(request, runtime); } /** * @deprecated * * @param request EnablePhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return EnablePhysicalConnectionResponse */ // Deprecated async enablePhysicalConnectionWithOptions(request: EnablePhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "EnablePhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new EnablePhysicalConnectionResponse({})); } /** * @deprecated * * @param request EnablePhysicalConnectionRequest * @return EnablePhysicalConnectionResponse */ // Deprecated async enablePhysicalConnection(request: EnablePhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.enablePhysicalConnectionWithOptions(request, runtime); } /** * ## [](#)Usage notes * Before you export images, take note of the following items: * * Make sure that you are familiar with the prerequisites and precautions. For more information, see [Export a custom image](~~58181~~). * * The `ImageFormat` parameter is available only for the following regions: India (Mumbai), Japan (Tokyo), Australia (Sydney), Indonesia (Jakarta), Germany (Frankfurt), UAE (Dubai), US (Virginia), UK (London), Singapore, Malaysia (Kuala Lumpur), and US (Silicon Valley). By default, custom images are exported in the RAW format in regions where ImageFormat is unsupported. * * Use Resource Access Management (RAM) to grant Elastic Compute Service (ECS) the permissions to write data to OSS. To complete the authorization, perform the following operations: * * Create a role named `AliyunECSImageExportDefaultRole`, and attach the following policy to the role: * { * "Statement": [ * { * "Action": "sts:AssumeRole", * "Effect": "Allow", * "Principal": { * "Service": [ * "ecs.aliyuncs.com" * ] * } * } * ], * "Version": "1" * } * * Attach the `AliyunECSImageExportRolePolicy` system policy to the `AliyunECSImageExportDefaultRole` role. This policy is the default policy that grants ECS the permissions to export images. For more information, go to the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101.0.0.64c64df5dfpmdY#/role/authorize?request=%7B%22Requests%22:%20%7B%22request1%22:%20%7B%22RoleName%22:%20%22AliyunECSImageImportDefaultRole%22,%20%22TemplateId%22:%20%22ECSImportRole%22%7D,%20%22request2%22:%20%7B%22RoleName%22:%20%22AliyunECSImageExportDefaultRole%22,%20%22TemplateId%22:%20%22ECSExportRole%22%7D%7D,%20%22ReturnUrl%22:%20%22https:%2F%2Fecs.console.aliyun.com%2F%22,%20%22Service%22:%20%22ECS%22%7D) page. You can also create a custom policy that contains the following content and attach the policy to the role: * { * "Version": "1", * "Statement": [ * { * "Action": [ * "oss:GetObject", * "oss:PutObject", * "oss:DeleteObject", * "oss:GetBucketLocation", * "oss:GetBucketInfo", * "oss:AbortMultipartUpload", * "oss:ListMultipartUploads", * "oss:ListParts" * ], * "Resource": "*", * "Effect": "Allow" * } * ] * } * After you export the images, take note of the following items: * Each exported custom image is stored in the specified OSS bucket. You can download the custom image. For more information, see [Download objects](~~31912~~). * * @param request ExportImageRequest * @param runtime runtime options for this request RuntimeOptions * @return ExportImageResponse */ async exportImageWithOptions(request: ExportImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageFormat)) { query["ImageFormat"] = request.imageFormat; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.OSSBucket)) { query["OSSBucket"] = request.OSSBucket; } if (!Util.isUnset(request.OSSPrefix)) { query["OSSPrefix"] = request.OSSPrefix; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.roleName)) { query["RoleName"] = request.roleName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ExportImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ExportImageResponse({})); } /** * ## [](#)Usage notes * Before you export images, take note of the following items: * * Make sure that you are familiar with the prerequisites and precautions. For more information, see [Export a custom image](~~58181~~). * * The `ImageFormat` parameter is available only for the following regions: India (Mumbai), Japan (Tokyo), Australia (Sydney), Indonesia (Jakarta), Germany (Frankfurt), UAE (Dubai), US (Virginia), UK (London), Singapore, Malaysia (Kuala Lumpur), and US (Silicon Valley). By default, custom images are exported in the RAW format in regions where ImageFormat is unsupported. * * Use Resource Access Management (RAM) to grant Elastic Compute Service (ECS) the permissions to write data to OSS. To complete the authorization, perform the following operations: * * Create a role named `AliyunECSImageExportDefaultRole`, and attach the following policy to the role: * { * "Statement": [ * { * "Action": "sts:AssumeRole", * "Effect": "Allow", * "Principal": { * "Service": [ * "ecs.aliyuncs.com" * ] * } * } * ], * "Version": "1" * } * * Attach the `AliyunECSImageExportRolePolicy` system policy to the `AliyunECSImageExportDefaultRole` role. This policy is the default policy that grants ECS the permissions to export images. For more information, go to the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101.0.0.64c64df5dfpmdY#/role/authorize?request=%7B%22Requests%22:%20%7B%22request1%22:%20%7B%22RoleName%22:%20%22AliyunECSImageImportDefaultRole%22,%20%22TemplateId%22:%20%22ECSImportRole%22%7D,%20%22request2%22:%20%7B%22RoleName%22:%20%22AliyunECSImageExportDefaultRole%22,%20%22TemplateId%22:%20%22ECSExportRole%22%7D%7D,%20%22ReturnUrl%22:%20%22https:%2F%2Fecs.console.aliyun.com%2F%22,%20%22Service%22:%20%22ECS%22%7D) page. You can also create a custom policy that contains the following content and attach the policy to the role: * { * "Version": "1", * "Statement": [ * { * "Action": [ * "oss:GetObject", * "oss:PutObject", * "oss:DeleteObject", * "oss:GetBucketLocation", * "oss:GetBucketInfo", * "oss:AbortMultipartUpload", * "oss:ListMultipartUploads", * "oss:ListParts" * ], * "Resource": "*", * "Effect": "Allow" * } * ] * } * After you export the images, take note of the following items: * Each exported custom image is stored in the specified OSS bucket. You can download the custom image. For more information, see [Download objects](~~31912~~). * * @param request ExportImageRequest * @return ExportImageResponse */ async exportImage(request: ExportImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.exportImageWithOptions(request, runtime); } /** * @deprecated * * @param request ExportSnapshotRequest * @param runtime runtime options for this request RuntimeOptions * @return ExportSnapshotResponse */ // Deprecated async exportSnapshotWithOptions(request: ExportSnapshotRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ossBucket)) { query["OssBucket"] = request.ossBucket; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.roleName)) { query["RoleName"] = request.roleName; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ExportSnapshot", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ExportSnapshotResponse({})); } /** * @deprecated * * @param request ExportSnapshotRequest * @return ExportSnapshotResponse */ // Deprecated async exportSnapshot(request: ExportSnapshotRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.exportSnapshotWithOptions(request, runtime); } /** * * ECS is a virtualized cloud-based service and cannot be connected to display devices. Alibaba Cloud caches system command outputs for the last start, restart, or shutdown of ECS instances. You can call the GetInstanceConsoleOutput operation to query the command outputs. * * For instances of the retired instance types, you cannot obtain command outputs. For more information, see [Retired instance types](~~55263~~). * * You cannot obtain the command outputs of Windows instances. * * @param request GetInstanceConsoleOutputRequest * @param runtime runtime options for this request RuntimeOptions * @return GetInstanceConsoleOutputResponse */ async getInstanceConsoleOutputWithOptions(request: GetInstanceConsoleOutputRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.removeSymbols)) { query["RemoveSymbols"] = request.removeSymbols; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "GetInstanceConsoleOutput", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new GetInstanceConsoleOutputResponse({})); } /** * * ECS is a virtualized cloud-based service and cannot be connected to display devices. Alibaba Cloud caches system command outputs for the last start, restart, or shutdown of ECS instances. You can call the GetInstanceConsoleOutput operation to query the command outputs. * * For instances of the retired instance types, you cannot obtain command outputs. For more information, see [Retired instance types](~~55263~~). * * You cannot obtain the command outputs of Windows instances. * * @param request GetInstanceConsoleOutputRequest * @return GetInstanceConsoleOutputResponse */ async getInstanceConsoleOutput(request: GetInstanceConsoleOutputRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.getInstanceConsoleOutputWithOptions(request, runtime); } /** * After ECS returns a Base64-encoded instance screenshot in the JPG format, you must decode the screenshot. We recommend that you call this operation for troubleshooting and diagnosis. When you call this operation, take note of the following items: * * The instance must be in the Running state. * * For instances of the retired instance types, you cannot obtain screenshots. For more information, see [Retired instance types](~~55263~~). * * If you call this operation on an instance for multiple times, the call interval must be at least 10 seconds. Otherwise, the `Throttling` error is returned. * * @param request GetInstanceScreenshotRequest * @param runtime runtime options for this request RuntimeOptions * @return GetInstanceScreenshotResponse */ async getInstanceScreenshotWithOptions(request: GetInstanceScreenshotRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.wakeUp)) { query["WakeUp"] = request.wakeUp; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "GetInstanceScreenshot", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new GetInstanceScreenshotResponse({})); } /** * After ECS returns a Base64-encoded instance screenshot in the JPG format, you must decode the screenshot. We recommend that you call this operation for troubleshooting and diagnosis. When you call this operation, take note of the following items: * * The instance must be in the Running state. * * For instances of the retired instance types, you cannot obtain screenshots. For more information, see [Retired instance types](~~55263~~). * * If you call this operation on an instance for multiple times, the call interval must be at least 10 seconds. Otherwise, the `Throttling` error is returned. * * @param request GetInstanceScreenshotRequest * @return GetInstanceScreenshotResponse */ async getInstanceScreenshot(request: GetInstanceScreenshotRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.getInstanceScreenshotWithOptions(request, runtime); } /** * ### [](#)Usage notes * Take note of the following items: * * Before you import an image, you must upload the image to an Object Storage Service (OSS) bucket. For more information, see [Upload objects](~~31886~~). * * In some scenarios, you may want to create a custom image based on the operating system data of a source server, import the image to Alibaba Cloud, and then create an ECS instance from the image. The source server can be a physical server, a virtual machine, or a cloud host. If the virtio driver is not installed on the source server, the created ECS instance may be unable to start. To prevent this issue, verify that the virtio driver is installed on the source server before you import the image to Alibaba Cloud. For more information, see [Install the virtio driver](~~62423~~). * * Before you import images for the first time, you must use Resource Access Management (RAM) to authorize ECS to access your OSS buckets. If ECS is not authorized to access your OSS buckets, the `NoSetRoletoECSServiceAcount` error code is returned when you call the ImportImage operation. You can complete the authorization with one click on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101image.0.0.2ffa4df57kSoHX#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageImportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSImportRole%22%7D%2C%20%22request2%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageExportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSExportRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//ecs.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22ECS%22%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following examples show the policies and permissions required for some steps in the authorization procedure. For more information, see [Control access to resources by using RAM users](~~25481~~). * 1. Create a RAM role named `AliyunECSImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: * { * "Statement": [ * { * "Action": "sts:AssumeRole", * "Effect": "Allow", * "Principal": { * "Service": [ * "ecs.aliyuncs.com" * ] * } * } * ], * "Version": "1" * } * 2. Attach the `AliyunECSImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: * ``` * { * "Version": "1", * "Statement": [ * { * "Action": [ * "oss:GetObject", * "oss:GetBucketLocation", * "oss:GetBucketInfo" * ], * "Resource": "*", * "Effect": "Allow" * } * ] * } * ``` * * You cannot delete an image that is being imported. However, you can call the [CancelTask](~~25624~~) operation to cancel the image import task. * * You can import an image only to the same region as the OSS bucket to which the image file is uploaded. * * The valid values of N in `DiskDeviceMapping.N` range from 1 to 17. When N is set to 1, the disk is a system disk. When N is set to a value from 2 to 17, the disk is a data disk. When N is set to a value greater than 17, parameters prefixed with DiskDeviceMapping.N are ignored. * * When you set `Architecture` to `arm64` or when you set `Platform` to `CentOS Stream`, `Anolis`, `AlmaLinux`, `UOS`, `Kylin`, or `Rocky Linux`, take note of the following items: * * To ensure that the password can be set or the key pair can be modified for an imported image, make sure that the image meets the following requirements before you import it: * * The kernel of the operating system supports the `CONFIG_FW_CFG_SYSFS` feature. By default, Linux community kernel 4.6 and later and CentOS kernel 3.10.0-826.el7 and later support the CONFIG_FW_CFG_SYSFS feature. You can run the `grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)` command on the source server of the image. If the command output contains `CONFIG_FW_CFG_SYSFS=y`, the kernel of the image supports the `CONFIG_FW_CFG_SYSFS` feature. * * Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](~~57803~~). * * The operating system supports the SHA-512 encryption algorithm. * * If you want an imported image to support the resizing of disks and file systems, make sure that the image meets the following requirements before you import it: * * The kernel version of the operating system is later than 3.6. * * The image supports the growpart command. To support this command, you must install the `cloud-utils-growpart` package. The methods of installing the package vary based on operating systems. For more information, see [Extend the partitions and file systems of disks on a Linux instance](~~25451~~). * * The image supports the resize2fs command. To support this command, you must install the `e2fsprogs` package. By default, the package is installed on the operating system. If the package is not installed, install it. * * Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](~~57803~~). * * If the image that you want to import uses the Arm64 architecture, configure the real-time clock (RTC) to use the Coordinated Universal Time (UTC) time standard. For more information, see [Linux time and time zones](~~405080~~). * * When you import images, we recommend that you specify DetectionStrategy. This way, you can optimize the images based on the image check results. For more information, see [Overview](~~439819~~). * * @param request ImportImageRequest * @param runtime runtime options for this request RuntimeOptions * @return ImportImageResponse */ async importImageWithOptions(request: ImportImageRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.architecture)) { query["Architecture"] = request.architecture; } if (!Util.isUnset(request.bootMode)) { query["BootMode"] = request.bootMode; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.detectionStrategy)) { query["DetectionStrategy"] = request.detectionStrategy; } if (!Util.isUnset(request.diskDeviceMapping)) { query["DiskDeviceMapping"] = request.diskDeviceMapping; } if (!Util.isUnset(request.imageName)) { query["ImageName"] = request.imageName; } if (!Util.isUnset(request.licenseType)) { query["LicenseType"] = request.licenseType; } if (!Util.isUnset(request.OSType)) { query["OSType"] = request.OSType; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.roleName)) { query["RoleName"] = request.roleName; } if (!Util.isUnset(request.storageLocationArn)) { query["StorageLocationArn"] = request.storageLocationArn; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ImportImage", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ImportImageResponse({})); } /** * ### [](#)Usage notes * Take note of the following items: * * Before you import an image, you must upload the image to an Object Storage Service (OSS) bucket. For more information, see [Upload objects](~~31886~~). * * In some scenarios, you may want to create a custom image based on the operating system data of a source server, import the image to Alibaba Cloud, and then create an ECS instance from the image. The source server can be a physical server, a virtual machine, or a cloud host. If the virtio driver is not installed on the source server, the created ECS instance may be unable to start. To prevent this issue, verify that the virtio driver is installed on the source server before you import the image to Alibaba Cloud. For more information, see [Install the virtio driver](~~62423~~). * * Before you import images for the first time, you must use Resource Access Management (RAM) to authorize ECS to access your OSS buckets. If ECS is not authorized to access your OSS buckets, the `NoSetRoletoECSServiceAcount` error code is returned when you call the ImportImage operation. You can complete the authorization with one click on the [Cloud Resource Access Authorization](https://ram.console.aliyun.com/?spm=5176.2020520101image.0.0.2ffa4df57kSoHX#/role/authorize?request=%7B%22Requests%22%3A%20%7B%22request1%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageImportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSImportRole%22%7D%2C%20%22request2%22%3A%20%7B%22RoleName%22%3A%20%22AliyunECSImageExportDefaultRole%22%2C%20%22TemplateId%22%3A%20%22ECSExportRole%22%7D%7D%2C%20%22ReturnUrl%22%3A%20%22https%3A//ecs.console.aliyun.com/%22%2C%20%22Service%22%3A%20%22ECS%22%7D) page of the RAM console. You can also complete the authorization by using a RAM role and RAM policies. The following examples show the policies and permissions required for some steps in the authorization procedure. For more information, see [Control access to resources by using RAM users](~~25481~~). * 1. Create a RAM role named `AliyunECSImageImportDefaultRole`. You must use this exact role name. Otherwise, the image cannot be imported. Configure the following trust policy for the role: * { * "Statement": [ * { * "Action": "sts:AssumeRole", * "Effect": "Allow", * "Principal": { * "Service": [ * "ecs.aliyuncs.com" * ] * } * } * ], * "Version": "1" * } * 2. Attach the `AliyunECSImageImportRolePolicy` system policy to the RAM role. You can also create a custom policy that contains the following content and attach the policy to the role: * ``` * { * "Version": "1", * "Statement": [ * { * "Action": [ * "oss:GetObject", * "oss:GetBucketLocation", * "oss:GetBucketInfo" * ], * "Resource": "*", * "Effect": "Allow" * } * ] * } * ``` * * You cannot delete an image that is being imported. However, you can call the [CancelTask](~~25624~~) operation to cancel the image import task. * * You can import an image only to the same region as the OSS bucket to which the image file is uploaded. * * The valid values of N in `DiskDeviceMapping.N` range from 1 to 17. When N is set to 1, the disk is a system disk. When N is set to a value from 2 to 17, the disk is a data disk. When N is set to a value greater than 17, parameters prefixed with DiskDeviceMapping.N are ignored. * * When you set `Architecture` to `arm64` or when you set `Platform` to `CentOS Stream`, `Anolis`, `AlmaLinux`, `UOS`, `Kylin`, or `Rocky Linux`, take note of the following items: * * To ensure that the password can be set or the key pair can be modified for an imported image, make sure that the image meets the following requirements before you import it: * * The kernel of the operating system supports the `CONFIG_FW_CFG_SYSFS` feature. By default, Linux community kernel 4.6 and later and CentOS kernel 3.10.0-826.el7 and later support the CONFIG_FW_CFG_SYSFS feature. You can run the `grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r)` command on the source server of the image. If the command output contains `CONFIG_FW_CFG_SYSFS=y`, the kernel of the image supports the `CONFIG_FW_CFG_SYSFS` feature. * * Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](~~57803~~). * * The operating system supports the SHA-512 encryption algorithm. * * If you want an imported image to support the resizing of disks and file systems, make sure that the image meets the following requirements before you import it: * * The kernel version of the operating system is later than 3.6. * * The image supports the growpart command. To support this command, you must install the `cloud-utils-growpart` package. The methods of installing the package vary based on operating systems. For more information, see [Extend the partitions and file systems of disks on a Linux instance](~~25451~~). * * The image supports the resize2fs command. To support this command, you must install the `e2fsprogs` package. By default, the package is installed on the operating system. If the package is not installed, install it. * * Alibaba Cloud cloud-init of the latest version is installed on the operating system. If the version of cloud-init is 19.1, the minor version must be 19.1.3 or later. If the version of cloud-init is 0.7.6a in some early versions of operating systems, the minor version must be 0.7.6a15 or later. For more information, see [Install cloud-init](~~57803~~). * * If the image that you want to import uses the Arm64 architecture, configure the real-time clock (RTC) to use the Coordinated Universal Time (UTC) time standard. For more information, see [Linux time and time zones](~~405080~~). * * When you import images, we recommend that you specify DetectionStrategy. This way, you can optimize the images based on the image check results. For more information, see [Overview](~~439819~~). * * @param request ImportImageRequest * @return ImportImageResponse */ async importImage(request: ImportImageRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.importImageWithOptions(request, runtime); } /** * Take note of the following items: * * A maximum of 500 key pairs can be created in each region. * * The key pair to be imported must support one of the following encryption methods: * * rsa * * dsa * * ssh-rsa * * ssh-dss * * ecdsa * * * * * * * * * * * * * * * * @param request ImportKeyPairRequest * @param runtime runtime options for this request RuntimeOptions * @return ImportKeyPairResponse */ async importKeyPairWithOptions(request: ImportKeyPairRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.publicKeyBody)) { query["PublicKeyBody"] = request.publicKeyBody; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ImportKeyPair", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ImportKeyPairResponse({})); } /** * Take note of the following items: * * A maximum of 500 key pairs can be created in each region. * * The key pair to be imported must support one of the following encryption methods: * * rsa * * dsa * * ssh-rsa * * ssh-dss * * ecdsa * * * * * * * * * * * * * * * * @param request ImportKeyPairRequest * @return ImportKeyPairResponse */ async importKeyPair(request: ImportKeyPairRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.importKeyPairWithOptions(request, runtime); } /** * The region ID of the instance. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list. * * @param request InstallCloudAssistantRequest * @param runtime runtime options for this request RuntimeOptions * @return InstallCloudAssistantResponse */ async installCloudAssistantWithOptions(request: InstallCloudAssistantRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "InstallCloudAssistant", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new InstallCloudAssistantResponse({})); } /** * The region ID of the instance. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list. * * @param request InstallCloudAssistantRequest * @return InstallCloudAssistantResponse */ async installCloudAssistant(request: InstallCloudAssistantRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.installCloudAssistantWithOptions(request, runtime); } /** * ## [](#)Usage notes * * The Elastic Compute Service (ECS) instances on which you want to run the Cloud Assistant command must meet the following requirements. If multiple ECS instances are specified and one of the instances does not meet the requirements for running the command, the call fails. You must specify instances that meet the requirements and call the InvokeCommand operation again. * * The instances are in the Running (`Running`) state. You can call the [DescribeInstances](~~25506~~) operation to query the status of instances. * * Cloud Assistant Agent is installed on the instances. For more information, see [Install Cloud Assistant Agent on an ECS instance](~~64921~~). * * Before you run PowerShell commands on the instances, make sure that the instances have the PowerShell module configured. * * You can configure the command to run only once on the instances. * * You can configure the command to run multiple times on the instances based on a schedule. * * The schedule is specified by the Frequency parameter. The results of each execution of the command do not affect the next execution of the command. * * If you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instance. Make sure that the time or time zone of the instances meets your business requirements. For more information, see [Manage the time synchronization service](~~92803~~).[](~~51890~~) * To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following ones. A scheduled task can run a command at a fixed interval, only once at a specific time, or at specific times based on a cron expression in a specified year or time zone. If the ClientNeedUpgrade error code is returned, you must upgrade Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * * Linux: 2.2.3.282 * * Windows: 2.1.3.282 * * Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](~~87029~~). * * If you enable the custom parameter feature when you create the command, you must specify custom parameters (`Parameters`) to run the command. * * Before you run the command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](~~87346~~) operation to query the status of Cloud Assistant Agent on the instances. Run the command when the return value of CloudAssistantStatus is true. * * @param tmpReq InvokeCommandRequest * @param runtime runtime options for this request RuntimeOptions * @return InvokeCommandResponse */ async invokeCommandWithOptions(tmpReq: InvokeCommandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(tmpReq); let request = new InvokeCommandShrinkRequest({ }); OpenApiUtil.convert(tmpReq, request); if (!Util.isUnset(tmpReq.parameters)) { request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, "Parameters", "json"); } let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.containerId)) { query["ContainerId"] = request.containerId; } if (!Util.isUnset(request.containerName)) { query["ContainerName"] = request.containerName; } if (!Util.isUnset(request.frequency)) { query["Frequency"] = request.frequency; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.parametersShrink)) { query["Parameters"] = request.parametersShrink; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.repeatMode)) { query["RepeatMode"] = request.repeatMode; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceTag)) { query["ResourceTag"] = request.resourceTag; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.timed)) { query["Timed"] = request.timed; } if (!Util.isUnset(request.timeout)) { query["Timeout"] = request.timeout; } if (!Util.isUnset(request.username)) { query["Username"] = request.username; } if (!Util.isUnset(request.windowsPasswordName)) { query["WindowsPasswordName"] = request.windowsPasswordName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "InvokeCommand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new InvokeCommandResponse({})); } /** * ## [](#)Usage notes * * The Elastic Compute Service (ECS) instances on which you want to run the Cloud Assistant command must meet the following requirements. If multiple ECS instances are specified and one of the instances does not meet the requirements for running the command, the call fails. You must specify instances that meet the requirements and call the InvokeCommand operation again. * * The instances are in the Running (`Running`) state. You can call the [DescribeInstances](~~25506~~) operation to query the status of instances. * * Cloud Assistant Agent is installed on the instances. For more information, see [Install Cloud Assistant Agent on an ECS instance](~~64921~~). * * Before you run PowerShell commands on the instances, make sure that the instances have the PowerShell module configured. * * You can configure the command to run only once on the instances. * * You can configure the command to run multiple times on the instances based on a schedule. * * The schedule is specified by the Frequency parameter. The results of each execution of the command do not affect the next execution of the command. * * If you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instance. Make sure that the time or time zone of the instances meets your business requirements. For more information, see [Manage the time synchronization service](~~92803~~).[](~~51890~~) * To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following ones. A scheduled task can run a command at a fixed interval, only once at a specific time, or at specific times based on a cron expression in a specified year or time zone. If the ClientNeedUpgrade error code is returned, you must upgrade Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * * Linux: 2.2.3.282 * * Windows: 2.1.3.282 * * Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](~~87029~~). * * If you enable the custom parameter feature when you create the command, you must specify custom parameters (`Parameters`) to run the command. * * Before you run the command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](~~87346~~) operation to query the status of Cloud Assistant Agent on the instances. Run the command when the return value of CloudAssistantStatus is true. * * @param request InvokeCommandRequest * @return InvokeCommandResponse */ async invokeCommand(request: InvokeCommandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.invokeCommandWithOptions(request, runtime); } /** * A resource is a cloud service entity that you create in Alibaba Cloud, such as an ECS instance, elastic network interface (ENI), or image. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources and monitor and run tasks in a centralized manner without switching between Alibaba Cloud services. * * @param request JoinResourceGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return JoinResourceGroupResponse */ async joinResourceGroupWithOptions(request: JoinResourceGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "JoinResourceGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new JoinResourceGroupResponse({})); } /** * A resource is a cloud service entity that you create in Alibaba Cloud, such as an ECS instance, elastic network interface (ENI), or image. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources and monitor and run tasks in a centralized manner without switching between Alibaba Cloud services. * * @param request JoinResourceGroupRequest * @return JoinResourceGroupResponse */ async joinResourceGroup(request: JoinResourceGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.joinResourceGroupWithOptions(request, runtime); } /** * ## [](#)Usage notes * > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](~~25503~~) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](~~58513~~) operation to add an ENI to or remove an ENI from a security group. * Take note of the following items: * * Before you add an instance to a security group, the instance must be in the **Stopped** (Stopped) or **Running** (Running) state. * * An instance can be added to up to five security groups by default. * * To add an instance to more security groups, [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex). An instance can be added to up to 16 security groups. * * A basic security group can contain up to 2,000 instances. An advanced security group can contain up to 65,536 instances. * * The security group and the instance must reside in the same region. * * The security group and the instance must be of the same network type. If the network type is virtual private cloud (VPC), the security group and the instance must reside in the same VPC. * * An instance and an ENI cannot be added to a security group at the same time. You cannot specify `InstanceId` and `NetworkInterfaceId` at the same time in a request. * * @param request JoinSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return JoinSecurityGroupResponse */ async joinSecurityGroupWithOptions(request: JoinSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "JoinSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new JoinSecurityGroupResponse({})); } /** * ## [](#)Usage notes * > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](~~25503~~) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](~~58513~~) operation to add an ENI to or remove an ENI from a security group. * Take note of the following items: * * Before you add an instance to a security group, the instance must be in the **Stopped** (Stopped) or **Running** (Running) state. * * An instance can be added to up to five security groups by default. * * To add an instance to more security groups, [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex). An instance can be added to up to 16 security groups. * * A basic security group can contain up to 2,000 instances. An advanced security group can contain up to 65,536 instances. * * The security group and the instance must reside in the same region. * * The security group and the instance must be of the same network type. If the network type is virtual private cloud (VPC), the security group and the instance must reside in the same VPC. * * An instance and an ENI cannot be added to a security group at the same time. You cannot specify `InstanceId` and `NetworkInterfaceId` at the same time in a request. * * @param request JoinSecurityGroupRequest * @return JoinSecurityGroupResponse */ async joinSecurityGroup(request: JoinSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.joinSecurityGroupWithOptions(request, runtime); } /** * > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](~~25503~~) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](~~58513~~) operation to add an ENI to or remove an ENI from a security group. * When you call this operation, take note of the following items: * * Before you remove an instance from a security group, the instance must be in the **Stopped** or **Running** state. * * An instance must belong to at least one security group. Therefore, if the instance that you want to remove belongs to only one security group, the LeaveSecurityGroup operation fails. * * You cannot remove an instance and an ENI from a security group at the same time. This indicates that you cannot configure both `InstanceId` and `NetworkInterfaceId` in a request. * * @param request LeaveSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return LeaveSecurityGroupResponse */ async leaveSecurityGroupWithOptions(request: LeaveSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "LeaveSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new LeaveSecurityGroupResponse({})); } /** * > This operation is not recommended. We recommend that you call the [ModifyInstanceAttribute](~~25503~~) operation to add an instance to or remove an instance from a security group, and call the [ModifyNetworkInterfaceAttribute](~~58513~~) operation to add an ENI to or remove an ENI from a security group. * When you call this operation, take note of the following items: * * Before you remove an instance from a security group, the instance must be in the **Stopped** or **Running** state. * * An instance must belong to at least one security group. Therefore, if the instance that you want to remove belongs to only one security group, the LeaveSecurityGroup operation fails. * * You cannot remove an instance and an ENI from a security group at the same time. This indicates that you cannot configure both `InstanceId` and `NetworkInterfaceId` in a request. * * @param request LeaveSecurityGroupRequest * @return LeaveSecurityGroupResponse */ async leaveSecurityGroup(request: LeaveSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.leaveSecurityGroupWithOptions(request, runtime); } /** * ## Usage notes * - Before you call this operation to query the status of Cloud Assistant plug-ins on ECS instances, make sure that the versions of Cloud Assistant Agent on the instances are not earlier than the following ones: * * 2.2.3.344 for Linux instances * * 2.1.3.344 for Windows instances * - You can use one of the following methods to check the responses: * - Method 1: When you call the ListPluginStatus operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the ListPluginStatus operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request ListPluginStatusRequest * @param runtime runtime options for this request RuntimeOptions * @return ListPluginStatusResponse */ async listPluginStatusWithOptions(request: ListPluginStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.pageNumber)) { query["PageNumber"] = request.pageNumber; } if (!Util.isUnset(request.pageSize)) { query["PageSize"] = request.pageSize; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ListPluginStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ListPluginStatusResponse({})); } /** * ## Usage notes * - Before you call this operation to query the status of Cloud Assistant plug-ins on ECS instances, make sure that the versions of Cloud Assistant Agent on the instances are not earlier than the following ones: * * 2.2.3.344 for Linux instances * * 2.1.3.344 for Windows instances * - You can use one of the following methods to check the responses: * - Method 1: When you call the ListPluginStatus operation to retrieve the first page of results during a paged query, use MaxResults to specify the maximum number of entries to return in the call. The return value of NextToken is a pagination token, which you can use in the next request to retrieve a new page of results. When you call the ListPluginStatus operation to retrieve a new page of results, set NextToken to the NextToken value returned in the previous call and use MaxResults to specify the maximum number of entries to return in this call. * - Method 2: Use PageSize to specify the number of entries to return on each page, and then use PageNumber to specify the number of the page to return. You can use only one of the preceding methods. If you specify MaxResults or NextToken, the PageSize and PageNumber request parameters do not take effect and the TotalCount response parameter is invalid. * * @param request ListPluginStatusRequest * @return ListPluginStatusResponse */ async listPluginStatus(request: ListPluginStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.listPluginStatusWithOptions(request, runtime); } /** * You must specify at least one of the following parameters or parameter pairs in a request to determine a query object: * * `ResourceId.N` * * `Tag.N` parameter pair (`Tag.N.Key` and `Tag.N.Value`) * * `TagFilter.N` * If one of the following sets of request parameters is specified as filter conditions, only ECS resources that meet all of the specified filter conditions are returned: * * Set 1: `Tag.N.Key, Tag.N.Value`, and `ResourceId.N` * * Set 2: `TagFilter.N.TagKey, TagFilter.N.TagValues.N`, and `ResourceId.N` * * @param request ListTagResourcesRequest * @param runtime runtime options for this request RuntimeOptions * @return ListTagResourcesResponse */ async listTagResourcesWithOptions(request: ListTagResourcesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.tagFilter)) { query["TagFilter"] = request.tagFilter; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ListTagResources", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ListTagResourcesResponse({})); } /** * You must specify at least one of the following parameters or parameter pairs in a request to determine a query object: * * `ResourceId.N` * * `Tag.N` parameter pair (`Tag.N.Key` and `Tag.N.Value`) * * `TagFilter.N` * If one of the following sets of request parameters is specified as filter conditions, only ECS resources that meet all of the specified filter conditions are returned: * * Set 1: `Tag.N.Key, Tag.N.Value`, and `ResourceId.N` * * Set 2: `TagFilter.N.TagKey, TagFilter.N.TagValues.N`, and `ResourceId.N` * * @param request ListTagResourcesRequest * @return ListTagResourcesResponse */ async listTagResources(request: ListTagResourcesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.listTagResourcesWithOptions(request, runtime); } /** * Before you call this operation, take note of the following items: * * If you modify the capacity or capacity-related settings of an auto-provisioning group, the group executes a scheduling task after the group is modified. * * You cannot modify an auto-provisioning group when the group is being deleted. * * @param request ModifyAutoProvisioningGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyAutoProvisioningGroupResponse */ async modifyAutoProvisioningGroupWithOptions(request: ModifyAutoProvisioningGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoProvisioningGroupId)) { query["AutoProvisioningGroupId"] = request.autoProvisioningGroupId; } if (!Util.isUnset(request.autoProvisioningGroupName)) { query["AutoProvisioningGroupName"] = request.autoProvisioningGroupName; } if (!Util.isUnset(request.defaultTargetCapacityType)) { query["DefaultTargetCapacityType"] = request.defaultTargetCapacityType; } if (!Util.isUnset(request.excessCapacityTerminationPolicy)) { query["ExcessCapacityTerminationPolicy"] = request.excessCapacityTerminationPolicy; } if (!Util.isUnset(request.launchTemplateConfig)) { query["LaunchTemplateConfig"] = request.launchTemplateConfig; } if (!Util.isUnset(request.maxSpotPrice)) { query["MaxSpotPrice"] = request.maxSpotPrice; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.payAsYouGoTargetCapacity)) { query["PayAsYouGoTargetCapacity"] = request.payAsYouGoTargetCapacity; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.spotTargetCapacity)) { query["SpotTargetCapacity"] = request.spotTargetCapacity; } if (!Util.isUnset(request.terminateInstancesWithExpiration)) { query["TerminateInstancesWithExpiration"] = request.terminateInstancesWithExpiration; } if (!Util.isUnset(request.totalTargetCapacity)) { query["TotalTargetCapacity"] = request.totalTargetCapacity; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyAutoProvisioningGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyAutoProvisioningGroupResponse({})); } /** * Before you call this operation, take note of the following items: * * If you modify the capacity or capacity-related settings of an auto-provisioning group, the group executes a scheduling task after the group is modified. * * You cannot modify an auto-provisioning group when the group is being deleted. * * @param request ModifyAutoProvisioningGroupRequest * @return ModifyAutoProvisioningGroupResponse */ async modifyAutoProvisioningGroup(request: ModifyAutoProvisioningGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyAutoProvisioningGroupWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyAutoSnapshotPolicyRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyAutoSnapshotPolicyResponse */ // Deprecated async modifyAutoSnapshotPolicyWithOptions(request: ModifyAutoSnapshotPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dataDiskPolicyEnabled)) { query["DataDiskPolicyEnabled"] = request.dataDiskPolicyEnabled; } if (!Util.isUnset(request.dataDiskPolicyRetentionDays)) { query["DataDiskPolicyRetentionDays"] = request.dataDiskPolicyRetentionDays; } if (!Util.isUnset(request.dataDiskPolicyRetentionLastWeek)) { query["DataDiskPolicyRetentionLastWeek"] = request.dataDiskPolicyRetentionLastWeek; } if (!Util.isUnset(request.dataDiskPolicyTimePeriod)) { query["DataDiskPolicyTimePeriod"] = request.dataDiskPolicyTimePeriod; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemDiskPolicyEnabled)) { query["SystemDiskPolicyEnabled"] = request.systemDiskPolicyEnabled; } if (!Util.isUnset(request.systemDiskPolicyRetentionDays)) { query["SystemDiskPolicyRetentionDays"] = request.systemDiskPolicyRetentionDays; } if (!Util.isUnset(request.systemDiskPolicyRetentionLastWeek)) { query["SystemDiskPolicyRetentionLastWeek"] = request.systemDiskPolicyRetentionLastWeek; } if (!Util.isUnset(request.systemDiskPolicyTimePeriod)) { query["SystemDiskPolicyTimePeriod"] = request.systemDiskPolicyTimePeriod; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyAutoSnapshotPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyAutoSnapshotPolicyResponse({})); } /** * @deprecated * * @param request ModifyAutoSnapshotPolicyRequest * @return ModifyAutoSnapshotPolicyResponse */ // Deprecated async modifyAutoSnapshotPolicy(request: ModifyAutoSnapshotPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyAutoSnapshotPolicyWithOptions(request, runtime); } async modifyAutoSnapshotPolicyExWithOptions(request: ModifyAutoSnapshotPolicyExRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.copiedSnapshotsRetentionDays)) { query["CopiedSnapshotsRetentionDays"] = request.copiedSnapshotsRetentionDays; } if (!Util.isUnset(request.copyEncryptionConfiguration)) { query["CopyEncryptionConfiguration"] = request.copyEncryptionConfiguration; } if (!Util.isUnset(request.enableCrossRegionCopy)) { query["EnableCrossRegionCopy"] = request.enableCrossRegionCopy; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.targetCopyRegions)) { query["TargetCopyRegions"] = request.targetCopyRegions; } if (!Util.isUnset(request.autoSnapshotPolicyId)) { query["autoSnapshotPolicyId"] = request.autoSnapshotPolicyId; } if (!Util.isUnset(request.autoSnapshotPolicyName)) { query["autoSnapshotPolicyName"] = request.autoSnapshotPolicyName; } if (!Util.isUnset(request.regionId)) { query["regionId"] = request.regionId; } if (!Util.isUnset(request.repeatWeekdays)) { query["repeatWeekdays"] = request.repeatWeekdays; } if (!Util.isUnset(request.retentionDays)) { query["retentionDays"] = request.retentionDays; } if (!Util.isUnset(request.timePoints)) { query["timePoints"] = request.timePoints; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyAutoSnapshotPolicyEx", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyAutoSnapshotPolicyExResponse({})); } async modifyAutoSnapshotPolicyEx(request: ModifyAutoSnapshotPolicyExRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyAutoSnapshotPolicyExWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyBandwidthPackageSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyBandwidthPackageSpecResponse */ // Deprecated async modifyBandwidthPackageSpecWithOptions(request: ModifyBandwidthPackageSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidth)) { query["Bandwidth"] = request.bandwidth; } if (!Util.isUnset(request.bandwidthPackageId)) { query["BandwidthPackageId"] = request.bandwidthPackageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyBandwidthPackageSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyBandwidthPackageSpecResponse({})); } /** * @deprecated * * @param request ModifyBandwidthPackageSpecRequest * @return ModifyBandwidthPackageSpecResponse */ // Deprecated async modifyBandwidthPackageSpec(request: ModifyBandwidthPackageSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyBandwidthPackageSpecWithOptions(request, runtime); } async modifyCapacityReservationWithOptions(request: ModifyCapacityReservationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.endTimeType)) { query["EndTimeType"] = request.endTimeType; } if (!Util.isUnset(request.instanceAmount)) { query["InstanceAmount"] = request.instanceAmount; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyCapacityReservation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyCapacityReservationResponse({})); } async modifyCapacityReservation(request: ModifyCapacityReservationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyCapacityReservationWithOptions(request, runtime); } async modifyCloudAssistantSettingsWithOptions(tmpReq: ModifyCloudAssistantSettingsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(tmpReq); let request = new ModifyCloudAssistantSettingsShrinkRequest({ }); OpenApiUtil.convert(tmpReq, request); if (!Util.isUnset(tmpReq.agentUpgradeConfig)) { request.agentUpgradeConfigShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.agentUpgradeConfig, "AgentUpgradeConfig", "json"); } if (!Util.isUnset(tmpReq.ossDeliveryConfig)) { request.ossDeliveryConfigShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.ossDeliveryConfig, "OssDeliveryConfig", "json"); } if (!Util.isUnset(tmpReq.slsDeliveryConfig)) { request.slsDeliveryConfigShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.slsDeliveryConfig, "SlsDeliveryConfig", "json"); } let query = { }; if (!Util.isUnset(request.agentUpgradeConfigShrink)) { query["AgentUpgradeConfig"] = request.agentUpgradeConfigShrink; } if (!Util.isUnset(request.ossDeliveryConfigShrink)) { query["OssDeliveryConfig"] = request.ossDeliveryConfigShrink; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.settingType)) { query["SettingType"] = request.settingType; } if (!Util.isUnset(request.slsDeliveryConfigShrink)) { query["SlsDeliveryConfig"] = request.slsDeliveryConfigShrink; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyCloudAssistantSettings", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyCloudAssistantSettingsResponse({})); } async modifyCloudAssistantSettings(request: ModifyCloudAssistantSettingsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyCloudAssistantSettingsWithOptions(request, runtime); } /** * You can modify a command when it is run. After the command is modified, the new command content applies to subsequent executions. * You cannot modify the command type. For example, you cannot change a shell command (RunShellScript) to a batch command (RunBatScript). * * @param request ModifyCommandRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyCommandResponse */ async modifyCommandWithOptions(request: ModifyCommandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandContent)) { query["CommandContent"] = request.commandContent; } if (!Util.isUnset(request.commandId)) { query["CommandId"] = request.commandId; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.timeout)) { query["Timeout"] = request.timeout; } if (!Util.isUnset(request.workingDir)) { query["WorkingDir"] = request.workingDir; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyCommand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyCommandResponse({})); } /** * You can modify a command when it is run. After the command is modified, the new command content applies to subsequent executions. * You cannot modify the command type. For example, you cannot change a shell command (RunShellScript) to a batch command (RunBatScript). * * @param request ModifyCommandRequest * @return ModifyCommandResponse */ async modifyCommand(request: ModifyCommandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyCommandWithOptions(request, runtime); } /** * ## Description * * All the Elastic Compute Service (ECS) instances that are hosted on a dedicated host must be in the Stopped (`Stopped`) state before you can modify the CPU overcommit ratio of the dedicated host. * * Modifications to the CPU overcommit ratio of a dedicated host do not affect the operation of the dedicated host. After the CPU overcommit ratio is modified, the number of allocated vCPUs on the dedicated host cannot exceed the new total number of vCPUs. Otherwise, ECS instances that use the excess vCPUs cannot start. * * @param request ModifyDedicatedHostAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDedicatedHostAttributeResponse */ async modifyDedicatedHostAttributeWithOptions(request: ModifyDedicatedHostAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.actionOnMaintenance)) { query["ActionOnMaintenance"] = request.actionOnMaintenance; } if (!Util.isUnset(request.autoPlacement)) { query["AutoPlacement"] = request.autoPlacement; } if (!Util.isUnset(request.cpuOverCommitRatio)) { query["CpuOverCommitRatio"] = request.cpuOverCommitRatio; } if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.dedicatedHostName)) { query["DedicatedHostName"] = request.dedicatedHostName; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.networkAttributes)) { query["NetworkAttributes"] = request.networkAttributes; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDedicatedHostAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDedicatedHostAttributeResponse({})); } /** * ## Description * * All the Elastic Compute Service (ECS) instances that are hosted on a dedicated host must be in the Stopped (`Stopped`) state before you can modify the CPU overcommit ratio of the dedicated host. * * Modifications to the CPU overcommit ratio of a dedicated host do not affect the operation of the dedicated host. After the CPU overcommit ratio is modified, the number of allocated vCPUs on the dedicated host cannot exceed the new total number of vCPUs. Otherwise, ECS instances that use the excess vCPUs cannot start. * * @param request ModifyDedicatedHostAttributeRequest * @return ModifyDedicatedHostAttributeResponse */ async modifyDedicatedHostAttribute(request: ModifyDedicatedHostAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDedicatedHostAttributeWithOptions(request, runtime); } /** * ## Usage notes * A pay-as-you-go dedicated host can be automatically released at the specified time. Before you release a pay-as-you-go dedicated host, make sure that the host is no longer required and all necessary application data is backed up. * * @param request ModifyDedicatedHostAutoReleaseTimeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDedicatedHostAutoReleaseTimeResponse */ async modifyDedicatedHostAutoReleaseTimeWithOptions(request: ModifyDedicatedHostAutoReleaseTimeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDedicatedHostAutoReleaseTime", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDedicatedHostAutoReleaseTimeResponse({})); } /** * ## Usage notes * A pay-as-you-go dedicated host can be automatically released at the specified time. Before you release a pay-as-you-go dedicated host, make sure that the host is no longer required and all necessary application data is backed up. * * @param request ModifyDedicatedHostAutoReleaseTimeRequest * @return ModifyDedicatedHostAutoReleaseTimeResponse */ async modifyDedicatedHostAutoReleaseTime(request: ModifyDedicatedHostAutoReleaseTimeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDedicatedHostAutoReleaseTimeWithOptions(request, runtime); } /** * * If you enable auto-renewal for your subscription dedicated host, the system attempts to deduct the renewal payment at 08:00:00 (UTC+8) nine days before the dedicated host expires to renew the dedicated host. If this deduction attempt fails, the system attempt to deduct the payment at the same point in time the next day. The system attempts to deduct the payment once every day until the dedicated host expires or until the payment is deducted. Make sure that your account balance is sufficient. * * Subscription dedicated hosts can be automatically renewed along with the subscription Elastic Compute Service (ECS) instances hosted on the dedicated hosts. For more information, see the description of the AutoRenewWithEcs parameter. * * @param request ModifyDedicatedHostAutoRenewAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDedicatedHostAutoRenewAttributeResponse */ async modifyDedicatedHostAutoRenewAttributeWithOptions(request: ModifyDedicatedHostAutoRenewAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewWithEcs)) { query["AutoRenewWithEcs"] = request.autoRenewWithEcs; } if (!Util.isUnset(request.dedicatedHostIds)) { query["DedicatedHostIds"] = request.dedicatedHostIds; } if (!Util.isUnset(request.duration)) { query["Duration"] = request.duration; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.renewalStatus)) { query["RenewalStatus"] = request.renewalStatus; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDedicatedHostAutoRenewAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDedicatedHostAutoRenewAttributeResponse({})); } /** * * If you enable auto-renewal for your subscription dedicated host, the system attempts to deduct the renewal payment at 08:00:00 (UTC+8) nine days before the dedicated host expires to renew the dedicated host. If this deduction attempt fails, the system attempt to deduct the payment at the same point in time the next day. The system attempts to deduct the payment once every day until the dedicated host expires or until the payment is deducted. Make sure that your account balance is sufficient. * * Subscription dedicated hosts can be automatically renewed along with the subscription Elastic Compute Service (ECS) instances hosted on the dedicated hosts. For more information, see the description of the AutoRenewWithEcs parameter. * * @param request ModifyDedicatedHostAutoRenewAttributeRequest * @return ModifyDedicatedHostAutoRenewAttributeResponse */ async modifyDedicatedHostAutoRenewAttribute(request: ModifyDedicatedHostAutoRenewAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDedicatedHostAutoRenewAttributeWithOptions(request, runtime); } async modifyDedicatedHostClusterAttributeWithOptions(request: ModifyDedicatedHostClusterAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.dedicatedHostClusterName)) { query["DedicatedHostClusterName"] = request.dedicatedHostClusterName; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDedicatedHostClusterAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDedicatedHostClusterAttributeResponse({})); } async modifyDedicatedHostClusterAttribute(request: ModifyDedicatedHostClusterAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDedicatedHostClusterAttributeWithOptions(request, runtime); } async modifyDedicatedHostsChargeTypeWithOptions(request: ModifyDedicatedHostsChargeTypeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.dedicatedHostChargeType)) { query["DedicatedHostChargeType"] = request.dedicatedHostChargeType; } if (!Util.isUnset(request.dedicatedHostIds)) { query["DedicatedHostIds"] = request.dedicatedHostIds; } if (!Util.isUnset(request.detailFee)) { query["DetailFee"] = request.detailFee; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDedicatedHostsChargeType", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDedicatedHostsChargeTypeResponse({})); } async modifyDedicatedHostsChargeType(request: ModifyDedicatedHostsChargeTypeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDedicatedHostsChargeTypeWithOptions(request, runtime); } /** * @deprecated : ModifyDemand is deprecated, please use Ecs::2014-05-26::ModifyCapacityReservation instead. * You can call this operation to modify the demand information of instance types. Alibaba Cloud provides the requested resources based on your demand. You can file demands only for I/O optimized instance types and instances of the virtual private cloud (VPC) type. Parameters except `DemandName` and `DemandDescription` can be modified only for demands that are in the Rejected state. * > This operation is in invitational preview and is not publicly available. * * @param request ModifyDemandRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDemandResponse */ // Deprecated async modifyDemandWithOptions(request: ModifyDemandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.amount)) { query["Amount"] = request.amount; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.demandDescription)) { query["DemandDescription"] = request.demandDescription; } if (!Util.isUnset(request.demandId)) { query["DemandId"] = request.demandId; } if (!Util.isUnset(request.demandName)) { query["DemandName"] = request.demandName; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDemand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDemandResponse({})); } /** * @deprecated : ModifyDemand is deprecated, please use Ecs::2014-05-26::ModifyCapacityReservation instead. * You can call this operation to modify the demand information of instance types. Alibaba Cloud provides the requested resources based on your demand. You can file demands only for I/O optimized instance types and instances of the virtual private cloud (VPC) type. Parameters except `DemandName` and `DemandDescription` can be modified only for demands that are in the Rejected state. * > This operation is in invitational preview and is not publicly available. * * @param request ModifyDemandRequest * @return ModifyDemandResponse */ // Deprecated async modifyDemand(request: ModifyDemandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDemandWithOptions(request, runtime); } async modifyDeploymentSetAttributeWithOptions(request: ModifyDeploymentSetAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.deploymentSetName)) { query["DeploymentSetName"] = request.deploymentSetName; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDeploymentSetAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDeploymentSetAttributeResponse({})); } async modifyDeploymentSetAttribute(request: ModifyDeploymentSetAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDeploymentSetAttributeWithOptions(request, runtime); } async modifyDiagnosticMetricSetWithOptions(request: ModifyDiagnosticMetricSetRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.metricIds)) { query["MetricIds"] = request.metricIds; } if (!Util.isUnset(request.metricSetId)) { query["MetricSetId"] = request.metricSetId; } if (!Util.isUnset(request.metricSetName)) { query["MetricSetName"] = request.metricSetName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDiagnosticMetricSet", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDiagnosticMetricSetResponse({})); } async modifyDiagnosticMetricSet(request: ModifyDiagnosticMetricSetRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDiagnosticMetricSetWithOptions(request, runtime); } /** * * When you call this operation to modify the attributes of a disk, if you set the DeleteWithInstance parameter to false and the instance to which the disk is attached is locked for security reasons, the DeleteWithInstance parameter of the disk is ignored and the disk is released together with the instance. If `"LockReason" : "security"` is included in the response when you query the information about an instance, the instance is locked for security reasons. * * You can use the `DiskIds.N` parameter to specify multiple disks. This way, you can modify the attributes of the disks at the same time, including names, descriptions, and whether to release the disks together with the associated instances. * * @param request ModifyDiskAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDiskAttributeResponse */ async modifyDiskAttributeWithOptions(request: ModifyDiskAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.burstingEnabled)) { query["BurstingEnabled"] = request.burstingEnabled; } if (!Util.isUnset(request.deleteAutoSnapshot)) { query["DeleteAutoSnapshot"] = request.deleteAutoSnapshot; } if (!Util.isUnset(request.deleteWithInstance)) { query["DeleteWithInstance"] = request.deleteWithInstance; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.diskIds)) { query["DiskIds"] = request.diskIds; } if (!Util.isUnset(request.diskName)) { query["DiskName"] = request.diskName; } if (!Util.isUnset(request.enableAutoSnapshot)) { query["EnableAutoSnapshot"] = request.enableAutoSnapshot; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDiskAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDiskAttributeResponse({})); } /** * * When you call this operation to modify the attributes of a disk, if you set the DeleteWithInstance parameter to false and the instance to which the disk is attached is locked for security reasons, the DeleteWithInstance parameter of the disk is ignored and the disk is released together with the instance. If `"LockReason" : "security"` is included in the response when you query the information about an instance, the instance is locked for security reasons. * * You can use the `DiskIds.N` parameter to specify multiple disks. This way, you can modify the attributes of the disks at the same time, including names, descriptions, and whether to release the disks together with the associated instances. * * @param request ModifyDiskAttributeRequest * @return ModifyDiskAttributeResponse */ async modifyDiskAttribute(request: ModifyDiskAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDiskAttributeWithOptions(request, runtime); } /** * After you change the billing method, any outstanding payments are automatically completed. Make sure that the balance in your account is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. * When you call this operation, take note of the following items: * * You can change the billing method from subscription to pay-as-you-go for disks that are attached to a subscription instance. * * You can change the billing method from pay-as-you-go to subscription for data disks that are attached to a subscription or pay-as-you-go instance. * * The instance cannot be in the Stopped state due to overdue payments. * * You can change the billing method of each disk up to three times. Up to three refunds can be made for the price differences for each disk. * * The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. * * You cannot change the billing method again within 5 minutes of a successful change. * * @param request ModifyDiskChargeTypeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDiskChargeTypeResponse */ async modifyDiskChargeTypeWithOptions(request: ModifyDiskChargeTypeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.diskChargeType)) { query["DiskChargeType"] = request.diskChargeType; } if (!Util.isUnset(request.diskIds)) { query["DiskIds"] = request.diskIds; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDiskChargeType", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDiskChargeTypeResponse({})); } /** * After you change the billing method, any outstanding payments are automatically completed. Make sure that the balance in your account is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. * When you call this operation, take note of the following items: * * You can change the billing method from subscription to pay-as-you-go for disks that are attached to a subscription instance. * * You can change the billing method from pay-as-you-go to subscription for data disks that are attached to a subscription or pay-as-you-go instance. * * The instance cannot be in the Stopped state due to overdue payments. * * You can change the billing method of each disk up to three times. Up to three refunds can be made for the price differences for each disk. * * The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. * * You cannot change the billing method again within 5 minutes of a successful change. * * @param request ModifyDiskChargeTypeRequest * @return ModifyDiskChargeTypeResponse */ async modifyDiskChargeType(request: ModifyDiskChargeTypeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDiskChargeTypeWithOptions(request, runtime); } /** * ### [](#)Usage notes * > The Dedicated Block Storage Cluster feature is available in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Heyuan), Indonesia (Jakarta), Germany (Frankfurt), and China South 1 Finance. * Before you call the ModifyDiskDeployment operation, make sure that you fully understand the billing methods and prices of disks and dedicated block storage clusters. In addition, make sure that the dedicated block storage clusters are unexpired and your account has no overdue payments. For more information, see [Dedicated block storage cluster](~~208883~~) and [Block storage devices](~~179022~~). * Take note of the following items: * * The disks and a dedicated block storage cluster to which you want to migrate the disk must be in the same zone. * * You can migrate only pay-as-you-go disks. If you want to migrate subscription disks, change the disks to pay-as-you-go disks first. For more information, see [Change the billing method of a disk](~~145018~~). * * The specifications of disks that you want to migrate to a destination block storage cluster must the same as the disk specifications that the destination dedicated block storage cluster supports. During migration, you can change the specifications of the disks to ensure specification consistency. * * The disk must be in the **In Use** (In_Use) or **Available** (Available) state. * * If the disk is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running** (Running) or **Stopped** (Stopped) state. The ECS instance cannot be in the Expired state. * * The performance level of an enhanced SSD (ESSD) is limited by the ESSD disk size. If you cannot upgrade the performance level of an ESSD, you can resize the ESSD. For more information, see [ResizeDisk](~~25522~~) and [ESSDs](~~122389~~). * * An account can perform up to five disk migration tasks in the same region at the same time. * * When a disk is being migrated, you cannot cancel the migration task, create snapshots for the disk, change the disk configurations, resize the disk, mount the disk, unmount the disk, or re-initialize the disk. * > After you migrate a disk to a destination cluster by calling the ModifyDiskDeployment operation, the billing method, disk specifications, and capabilities of the destination cluster take effect immediately on the disk. Alibaba Cloud charges the disk based on the disk category and performance level. For more information, see [Dedicated block storage cluster](~~208883~~) and [Block storage devices](~~179022~~). * * @param request ModifyDiskDeploymentRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDiskDeploymentResponse */ async modifyDiskDeploymentWithOptions(request: ModifyDiskDeploymentRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskCategory)) { query["DiskCategory"] = request.diskCategory; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.performanceLevel)) { query["PerformanceLevel"] = request.performanceLevel; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageClusterId)) { query["StorageClusterId"] = request.storageClusterId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDiskDeployment", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDiskDeploymentResponse({})); } /** * ### [](#)Usage notes * > The Dedicated Block Storage Cluster feature is available in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Heyuan), Indonesia (Jakarta), Germany (Frankfurt), and China South 1 Finance. * Before you call the ModifyDiskDeployment operation, make sure that you fully understand the billing methods and prices of disks and dedicated block storage clusters. In addition, make sure that the dedicated block storage clusters are unexpired and your account has no overdue payments. For more information, see [Dedicated block storage cluster](~~208883~~) and [Block storage devices](~~179022~~). * Take note of the following items: * * The disks and a dedicated block storage cluster to which you want to migrate the disk must be in the same zone. * * You can migrate only pay-as-you-go disks. If you want to migrate subscription disks, change the disks to pay-as-you-go disks first. For more information, see [Change the billing method of a disk](~~145018~~). * * The specifications of disks that you want to migrate to a destination block storage cluster must the same as the disk specifications that the destination dedicated block storage cluster supports. During migration, you can change the specifications of the disks to ensure specification consistency. * * The disk must be in the **In Use** (In_Use) or **Available** (Available) state. * * If the disk is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running** (Running) or **Stopped** (Stopped) state. The ECS instance cannot be in the Expired state. * * The performance level of an enhanced SSD (ESSD) is limited by the ESSD disk size. If you cannot upgrade the performance level of an ESSD, you can resize the ESSD. For more information, see [ResizeDisk](~~25522~~) and [ESSDs](~~122389~~). * * An account can perform up to five disk migration tasks in the same region at the same time. * * When a disk is being migrated, you cannot cancel the migration task, create snapshots for the disk, change the disk configurations, resize the disk, mount the disk, unmount the disk, or re-initialize the disk. * > After you migrate a disk to a destination cluster by calling the ModifyDiskDeployment operation, the billing method, disk specifications, and capabilities of the destination cluster take effect immediately on the disk. Alibaba Cloud charges the disk based on the disk category and performance level. For more information, see [Dedicated block storage cluster](~~208883~~) and [Block storage devices](~~179022~~). * * @param request ModifyDiskDeploymentRequest * @return ModifyDiskDeploymentResponse */ async modifyDiskDeployment(request: ModifyDiskDeploymentRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDiskDeploymentWithOptions(request, runtime); } /** * ## Usage notes * Take note of the following items: * * To modify the performance level of an ESSD, take note of the following items: * * For a subscription ESSD, you can only upgrade its performance level. * * For a pay-as-you-go ESSD, you can upgrade or downgrade its performance level. However, you cannot downgrade the performance level to PL0. * * The ESSD must be in the **In Use** (In_Use) or **Unattached** (Available) state. * * If the ESSD is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running** (Running) or **Stopped** (Stopped) state. The instance cannot be in the Expired state or stopped due to an overdue payment. * * If you cannot upgrade the performance level of the ESSD due to the capacity limit, resize the ESSD by calling the [ResizeDisk](~~25522~~) operation and then try again. For more information, see [ESSDs](~~122389~~). * * For information about the limits on changing the category of a disk, see the "Limits" section of the [Change the category of a disk](~~161980~~) topic. * The new disk category or performance level takes effect immediately after this operation is performed. Alibaba Cloud calculates the bill based on the new disk category and performance level. * * @param request ModifyDiskSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyDiskSpecResponse */ async modifyDiskSpecWithOptions(request: ModifyDiskSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskCategory)) { query["DiskCategory"] = request.diskCategory; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.performanceControlOptions)) { query["PerformanceControlOptions"] = request.performanceControlOptions; } if (!Util.isUnset(request.performanceLevel)) { query["PerformanceLevel"] = request.performanceLevel; } if (!Util.isUnset(request.provisionedIops)) { query["ProvisionedIops"] = request.provisionedIops; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyDiskSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyDiskSpecResponse({})); } /** * ## Usage notes * Take note of the following items: * * To modify the performance level of an ESSD, take note of the following items: * * For a subscription ESSD, you can only upgrade its performance level. * * For a pay-as-you-go ESSD, you can upgrade or downgrade its performance level. However, you cannot downgrade the performance level to PL0. * * The ESSD must be in the **In Use** (In_Use) or **Unattached** (Available) state. * * If the ESSD is attached to an Elastic Compute Service (ECS) instance, the instance must be in the **Running** (Running) or **Stopped** (Stopped) state. The instance cannot be in the Expired state or stopped due to an overdue payment. * * If you cannot upgrade the performance level of the ESSD due to the capacity limit, resize the ESSD by calling the [ResizeDisk](~~25522~~) operation and then try again. For more information, see [ESSDs](~~122389~~). * * For information about the limits on changing the category of a disk, see the "Limits" section of the [Change the category of a disk](~~161980~~) topic. * The new disk category or performance level takes effect immediately after this operation is performed. Alibaba Cloud calculates the bill based on the new disk category and performance level. * * @param request ModifyDiskSpecRequest * @return ModifyDiskSpecResponse */ async modifyDiskSpec(request: ModifyDiskSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyDiskSpecWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyEipAddressAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyEipAddressAttributeResponse */ // Deprecated async modifyEipAddressAttributeWithOptions(request: ModifyEipAddressAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.bandwidth)) { query["Bandwidth"] = request.bandwidth; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyEipAddressAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyEipAddressAttributeResponse({})); } /** * @deprecated * * @param request ModifyEipAddressAttributeRequest * @return ModifyEipAddressAttributeResponse */ // Deprecated async modifyEipAddressAttribute(request: ModifyEipAddressAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyEipAddressAttributeWithOptions(request, runtime); } async modifyElasticityAssuranceWithOptions(request: ModifyElasticityAssuranceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyElasticityAssurance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyElasticityAssuranceResponse({})); } async modifyElasticityAssurance(request: ModifyElasticityAssuranceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyElasticityAssuranceWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyForwardEntryRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyForwardEntryResponse */ // Deprecated async modifyForwardEntryWithOptions(request: ModifyForwardEntryRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.externalIp)) { query["ExternalIp"] = request.externalIp; } if (!Util.isUnset(request.externalPort)) { query["ExternalPort"] = request.externalPort; } if (!Util.isUnset(request.forwardEntryId)) { query["ForwardEntryId"] = request.forwardEntryId; } if (!Util.isUnset(request.forwardTableId)) { query["ForwardTableId"] = request.forwardTableId; } if (!Util.isUnset(request.internalIp)) { query["InternalIp"] = request.internalIp; } if (!Util.isUnset(request.internalPort)) { query["InternalPort"] = request.internalPort; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyForwardEntry", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyForwardEntryResponse({})); } /** * @deprecated * * @param request ModifyForwardEntryRequest * @return ModifyForwardEntryResponse */ // Deprecated async modifyForwardEntry(request: ModifyForwardEntryRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyForwardEntryWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyHaVipAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyHaVipAttributeResponse */ // Deprecated async modifyHaVipAttributeWithOptions(request: ModifyHaVipAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.haVipId)) { query["HaVipId"] = request.haVipId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyHaVipAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyHaVipAttributeResponse({})); } /** * @deprecated * * @param request ModifyHaVipAttributeRequest * @return ModifyHaVipAttributeResponse */ // Deprecated async modifyHaVipAttribute(request: ModifyHaVipAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyHaVipAttributeWithOptions(request, runtime); } async modifyHpcClusterAttributeWithOptions(request: ModifyHpcClusterAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.hpcClusterId)) { query["HpcClusterId"] = request.hpcClusterId; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyHpcClusterAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyHpcClusterAttributeResponse({})); } async modifyHpcClusterAttribute(request: ModifyHpcClusterAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyHpcClusterAttributeWithOptions(request, runtime); } async modifyImageAttributeWithOptions(request: ModifyImageAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bootMode)) { query["BootMode"] = request.bootMode; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.features)) { query["Features"] = request.features; } if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.imageName)) { query["ImageName"] = request.imageName; } if (!Util.isUnset(request.licenseType)) { query["LicenseType"] = request.licenseType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.status)) { query["Status"] = request.status; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyImageAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyImageAttributeResponse({})); } async modifyImageAttribute(request: ModifyImageAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyImageAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyImageShareGroupPermissionRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyImageShareGroupPermissionResponse */ // Deprecated async modifyImageShareGroupPermissionWithOptions(request: ModifyImageShareGroupPermissionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.addGroup)) { query["AddGroup"] = request.addGroup; } if (!Util.isUnset(request.removeGroup)) { query["RemoveGroup"] = request.removeGroup; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyImageShareGroupPermission", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyImageShareGroupPermissionResponse({})); } /** * @deprecated * * @param request ModifyImageShareGroupPermissionRequest * @return ModifyImageShareGroupPermissionResponse */ // Deprecated async modifyImageShareGroupPermission(request: ModifyImageShareGroupPermissionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyImageShareGroupPermissionWithOptions(request, runtime); } /** * ## [](#)Usage notes * Take note of the following items: * * You can share only your own custom images to other Alibaba Cloud accounts. * * You can share a custom image to up to 10 Alibaba Cloud accounts at a time. You can specify up to 10 Alibaba Cloud account IDs by using AddAccount.N or RemoveAccount.N. If you specify more than 10 account IDs, the system processes only the first 10 account IDs. The excess account IDs are ignored. * * You can share a custom image to up to 50 Alibaba Cloud accounts. * * If an Elastic Compute Service (ECS) instance was created ([RunInstances](~~63440~~)) from a shared image, you cannot re-initialize the instance ([ReInitDisk](~~25519~~)) after the image owner unshares or deletes the image ([DeleteImage](~~25537~~)). * When you publish or unpublish a community image, take note of the following items: * * Alibaba Cloud provides only the platform on which community images can be published and managed. The owner of a community image is responsible for the quality and updates of the image. Make sure that you acknowledge and agree to the Community Image Agreement. Otherwise, you cannot publish community images. For more information, see [Publish a community image](~~208370~~). * * You cannot publish encrypted images as community images. * * Community images are publicly available. A community image is available to all Alibaba Cloud accounts in the region where the image resides. * * You cannot share, export, or copy community images. * * After you unpublish a community image, the image is no longer available to other Alibaba Cloud accounts. If an image is shared to other Alibaba Cloud accounts before it is unpublished, the image remains available to the accounts. * * @param request ModifyImageSharePermissionRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyImageSharePermissionResponse */ async modifyImageSharePermissionWithOptions(request: ModifyImageSharePermissionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.addAccount)) { query["AddAccount"] = request.addAccount; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.isPublic)) { query["IsPublic"] = request.isPublic; } if (!Util.isUnset(request.launchPermission)) { query["LaunchPermission"] = request.launchPermission; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.removeAccount)) { query["RemoveAccount"] = request.removeAccount; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyImageSharePermission", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyImageSharePermissionResponse({})); } /** * ## [](#)Usage notes * Take note of the following items: * * You can share only your own custom images to other Alibaba Cloud accounts. * * You can share a custom image to up to 10 Alibaba Cloud accounts at a time. You can specify up to 10 Alibaba Cloud account IDs by using AddAccount.N or RemoveAccount.N. If you specify more than 10 account IDs, the system processes only the first 10 account IDs. The excess account IDs are ignored. * * You can share a custom image to up to 50 Alibaba Cloud accounts. * * If an Elastic Compute Service (ECS) instance was created ([RunInstances](~~63440~~)) from a shared image, you cannot re-initialize the instance ([ReInitDisk](~~25519~~)) after the image owner unshares or deletes the image ([DeleteImage](~~25537~~)). * When you publish or unpublish a community image, take note of the following items: * * Alibaba Cloud provides only the platform on which community images can be published and managed. The owner of a community image is responsible for the quality and updates of the image. Make sure that you acknowledge and agree to the Community Image Agreement. Otherwise, you cannot publish community images. For more information, see [Publish a community image](~~208370~~). * * You cannot publish encrypted images as community images. * * Community images are publicly available. A community image is available to all Alibaba Cloud accounts in the region where the image resides. * * You cannot share, export, or copy community images. * * After you unpublish a community image, the image is no longer available to other Alibaba Cloud accounts. If an image is shared to other Alibaba Cloud accounts before it is unpublished, the image remains available to the accounts. * * @param request ModifyImageSharePermissionRequest * @return ModifyImageSharePermissionResponse */ async modifyImageSharePermission(request: ModifyImageSharePermissionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyImageSharePermissionWithOptions(request, runtime); } /** * A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that are created by using the resources in the private pool. When you create ECS instances, you can configure the instances to use private pool resources, matching them to active elasticity assurances or capacity reservations. * * This operation does not require you to restart the instances for the changes to take effect. * * When you call the following operations on an instance, the system attempts to match the instance with active private pools. If the instance is configured to a specific private pool. the call may fail because the private pool is no longer active or does not have sufficient resources. If the call fails, call the ModifyInstanceAttachmentAttributes operation to change the match mode of the private pool to `Open`. * * StartInstance: starts an instance that is stopped in economical mode. * * ReActivateInstances * * ModifyInstanceChargeType * * ModifyPrepayInstanceSpec * * ReplaceSystemDisk * * @param request ModifyInstanceAttachmentAttributesRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceAttachmentAttributesResponse */ async modifyInstanceAttachmentAttributesWithOptions(request: ModifyInstanceAttachmentAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceAttachmentAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceAttachmentAttributesResponse({})); } /** * A private pool is generated after an elasticity assurance or a capacity reservation is created. The private pool is associated with information about the instances that are created by using the resources in the private pool. When you create ECS instances, you can configure the instances to use private pool resources, matching them to active elasticity assurances or capacity reservations. * * This operation does not require you to restart the instances for the changes to take effect. * * When you call the following operations on an instance, the system attempts to match the instance with active private pools. If the instance is configured to a specific private pool. the call may fail because the private pool is no longer active or does not have sufficient resources. If the call fails, call the ModifyInstanceAttachmentAttributes operation to change the match mode of the private pool to `Open`. * * StartInstance: starts an instance that is stopped in economical mode. * * ReActivateInstances * * ModifyInstanceChargeType * * ModifyPrepayInstanceSpec * * ReplaceSystemDisk * * @param request ModifyInstanceAttachmentAttributesRequest * @return ModifyInstanceAttachmentAttributesResponse */ async modifyInstanceAttachmentAttributes(request: ModifyInstanceAttachmentAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceAttachmentAttributesWithOptions(request, runtime); } /** * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of an instance, the instance is locked for security reasons. No operations are allowed on the instance. * Take note of the following items: * * Modify the hostname (`HostName`): After you modify the hostname, restart the instance in the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new hostname to take effect. For information about how to restart an instance in the ECS console, see [Restart instances](~~25440~~). The new hostname does not take effect if you restart the instance from within the operating system. * * Reset the password (`Password`): * * The instance cannot be in the **Starting** (`Starting`) state. * * After you reset the password, restart the instance in the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new password to take effect. For information about how to restart an instance in the ECS console, see [Restart instances](~~25440~~). The new password does not take effect if you restart the instance from within the operating system. * * Modify user data (`UserData`): * * The instance must be in the **Stopped** (`Stopped`) state. * * The instance must meet the limits for user data. For more information, see [Prepare user data](~~49121~~). * > After you restart the instance, the new user data is displayed but not run as scripts. * * Change the security groups (`SecurityGroupIds.N`): * * You can move an instance to a security group of a different type. * If you want to move an instance to a security group of a different type, you must familiarize yourself with the differences between the rule configurations of the two security group types to prevent impacts on the instance network. * * Security groups of instances in the classic network cannot be changed. * For more information, see the description of `SecurityGroupIds.N`. * * Modify the number of queues supported by the primary elastic network interface (ENI) (`NetworkInterfaceQueueNumber`): * * The instance must be in the Stopped (`Stopped`) state. * * The value of this parameter cannot exceed the maximum number of queues allowed per ENI. The maximum number of queues varies based on the instance type. * * The total number of queues for all ENIs on the instance cannot exceed the queue quota for the instance type. To obtain the maximum number of queues per ENI and the queue quota for an instance type, you can call the [DescribeInstanceTypes](~~25620~~) operation to query the `MaximumQueueNumberPerEni` and `TotalEniQueueQuantity` values. * * If you set this parameter to -1, the value is reset to the default value for the instance type. To obtain the default number of queues supported by the primary ENI for an instance type, you can call the [DescribeInstanceTypes](~~25620~~) operation to query the `PrimaryEniQueueNumber` value. * * Enable or disable the Jumbo Frame feature ([EnableJumboFrame](~~200512~~)): * * The instance must be in the Running (`Running`) or Stopped (`Stopped`) state. * * The instance must reside in a virtual private cloud (VPC). * * After the Jumbo Frame feature is enabled, the MTU value of the instance is set to 8500. After the Jumbo Frame feature is disabled, the MTU value of the instance is set to 1500. * * @param request ModifyInstanceAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceAttributeResponse */ async modifyInstanceAttributeWithOptions(request: ModifyInstanceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.creditSpecification)) { query["CreditSpecification"] = request.creditSpecification; } if (!Util.isUnset(request.deletionProtection)) { query["DeletionProtection"] = request.deletionProtection; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.enableJumboFrame)) { query["EnableJumboFrame"] = request.enableJumboFrame; } if (!Util.isUnset(request.hostName)) { query["HostName"] = request.hostName; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.networkInterfaceQueueNumber)) { query["NetworkInterfaceQueueNumber"] = request.networkInterfaceQueueNumber; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.recyclable)) { query["Recyclable"] = request.recyclable; } if (!Util.isUnset(request.remoteConnectionOptions)) { query["RemoteConnectionOptions"] = request.remoteConnectionOptions; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.userData)) { query["UserData"] = request.userData; } if (!Util.isUnset(request.cpuOptions)) { query["CpuOptions"] = request.cpuOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceAttributeResponse({})); } /** * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` when you query the information of an instance, the instance is locked for security reasons. No operations are allowed on the instance. * Take note of the following items: * * Modify the hostname (`HostName`): After you modify the hostname, restart the instance in the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new hostname to take effect. For information about how to restart an instance in the ECS console, see [Restart instances](~~25440~~). The new hostname does not take effect if you restart the instance from within the operating system. * * Reset the password (`Password`): * * The instance cannot be in the **Starting** (`Starting`) state. * * After you reset the password, restart the instance in the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new password to take effect. For information about how to restart an instance in the ECS console, see [Restart instances](~~25440~~). The new password does not take effect if you restart the instance from within the operating system. * * Modify user data (`UserData`): * * The instance must be in the **Stopped** (`Stopped`) state. * * The instance must meet the limits for user data. For more information, see [Prepare user data](~~49121~~). * > After you restart the instance, the new user data is displayed but not run as scripts. * * Change the security groups (`SecurityGroupIds.N`): * * You can move an instance to a security group of a different type. * If you want to move an instance to a security group of a different type, you must familiarize yourself with the differences between the rule configurations of the two security group types to prevent impacts on the instance network. * * Security groups of instances in the classic network cannot be changed. * For more information, see the description of `SecurityGroupIds.N`. * * Modify the number of queues supported by the primary elastic network interface (ENI) (`NetworkInterfaceQueueNumber`): * * The instance must be in the Stopped (`Stopped`) state. * * The value of this parameter cannot exceed the maximum number of queues allowed per ENI. The maximum number of queues varies based on the instance type. * * The total number of queues for all ENIs on the instance cannot exceed the queue quota for the instance type. To obtain the maximum number of queues per ENI and the queue quota for an instance type, you can call the [DescribeInstanceTypes](~~25620~~) operation to query the `MaximumQueueNumberPerEni` and `TotalEniQueueQuantity` values. * * If you set this parameter to -1, the value is reset to the default value for the instance type. To obtain the default number of queues supported by the primary ENI for an instance type, you can call the [DescribeInstanceTypes](~~25620~~) operation to query the `PrimaryEniQueueNumber` value. * * Enable or disable the Jumbo Frame feature ([EnableJumboFrame](~~200512~~)): * * The instance must be in the Running (`Running`) or Stopped (`Stopped`) state. * * The instance must reside in a virtual private cloud (VPC). * * After the Jumbo Frame feature is enabled, the MTU value of the instance is set to 8500. After the Jumbo Frame feature is disabled, the MTU value of the instance is set to 1500. * * @param request ModifyInstanceAttributeRequest * @return ModifyInstanceAttributeResponse */ async modifyInstanceAttribute(request: ModifyInstanceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceAttributeWithOptions(request, runtime); } async modifyInstanceAutoReleaseTimeWithOptions(request: ModifyInstanceAutoReleaseTimeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceAutoReleaseTime", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceAutoReleaseTimeResponse({})); } async modifyInstanceAutoReleaseTime(request: ModifyInstanceAutoReleaseTimeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceAutoReleaseTimeWithOptions(request, runtime); } /** * Before you call this operation, make sure that you are familiar with the billing methods and pricing of Elastic Compute Service (ECS). For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * * The payment for auto-renewal of an instance is automatically deducted at 08:00:00 (UTC+8) nine days before the instance expires. * * If the deduction fails, Alibaba Cloud attempts to deduct the payment every day until the payment is deducted or until the instance is locked after the nine-day period ends. Make sure that your account balance or credit balance is sufficient. * * @param request ModifyInstanceAutoRenewAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceAutoRenewAttributeResponse */ async modifyInstanceAutoRenewAttributeWithOptions(request: ModifyInstanceAutoRenewAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.duration)) { query["Duration"] = request.duration; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.renewalStatus)) { query["RenewalStatus"] = request.renewalStatus; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceAutoRenewAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceAutoRenewAttributeResponse({})); } /** * Before you call this operation, make sure that you are familiar with the billing methods and pricing of Elastic Compute Service (ECS). For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * * The payment for auto-renewal of an instance is automatically deducted at 08:00:00 (UTC+8) nine days before the instance expires. * * If the deduction fails, Alibaba Cloud attempts to deduct the payment every day until the payment is deducted or until the instance is locked after the nine-day period ends. Make sure that your account balance or credit balance is sufficient. * * @param request ModifyInstanceAutoRenewAttributeRequest * @return ModifyInstanceAutoRenewAttributeResponse */ async modifyInstanceAutoRenewAttribute(request: ModifyInstanceAutoRenewAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceAutoRenewAttributeWithOptions(request, runtime); } /** * Before you call this operation, make sure that you are familiar with the billing methods and pricing of Elastic Compute Service (ECS). For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * Take note of the following items: * * The instances must be in the **Running** (`Running`) or **Stopped** (`Stopped`) state, and you cannot have overdue payments for them. * * After you change the billing method, outstanding payments are automatically completed. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set `AutoPay` to `false` to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. * * **Change the billing method from subscription to pay-as-you-go**: * * Your ECS usage determines whether the billing method of an instance can be changed from subscription to pay-as-you-go. * * After you change the billing method of an instance from subscription to pay-as-you-go, the new billing method remains in effect for the remaining lifecycle of the instance. The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. * * **Refund rule**: You have a quota for the total refund amount each month, and unused balance of this quota is not carried forward into the next month. After you use up the refund quota of the current month, you can change the billing method only in the next month. The refund amount incurred when you change the billing method is calculated based on the following formula: **Number of vCPUs × (Number of remaining days × 24 ± Number of remaining or elapsed hours)**. * * **Change the billing method from pay-as-you-go to subscription**: * * You can change the billing method of all data disks that are attached to an instance from pay-as-you-go to subscription. * * This operation cannot be called for a pay-as-you-go instance that has an automatic release time set. * * @param request ModifyInstanceChargeTypeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceChargeTypeResponse */ async modifyInstanceChargeTypeWithOptions(request: ModifyInstanceChargeTypeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.includeDataDisks)) { query["IncludeDataDisks"] = request.includeDataDisks; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceIds)) { query["InstanceIds"] = request.instanceIds; } if (!Util.isUnset(request.isDetailFee)) { query["IsDetailFee"] = request.isDetailFee; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceChargeType", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceChargeTypeResponse({})); } /** * Before you call this operation, make sure that you are familiar with the billing methods and pricing of Elastic Compute Service (ECS). For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * Take note of the following items: * * The instances must be in the **Running** (`Running`) or **Stopped** (`Stopped`) state, and you cannot have overdue payments for them. * * After you change the billing method, outstanding payments are automatically completed. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and is canceled. If your account balance is insufficient, you can set `AutoPay` to `false` to generate an unpaid order. Then, you can log on to the [ECS console](https://ecs.console.aliyun.com/) to pay for the order. * * **Change the billing method from subscription to pay-as-you-go**: * * Your ECS usage determines whether the billing method of an instance can be changed from subscription to pay-as-you-go. * * After you change the billing method of an instance from subscription to pay-as-you-go, the new billing method remains in effect for the remaining lifecycle of the instance. The price difference is refunded to the payment account that you used. Vouchers that have been redeemed are not refundable. * * **Refund rule**: You have a quota for the total refund amount each month, and unused balance of this quota is not carried forward into the next month. After you use up the refund quota of the current month, you can change the billing method only in the next month. The refund amount incurred when you change the billing method is calculated based on the following formula: **Number of vCPUs × (Number of remaining days × 24 ± Number of remaining or elapsed hours)**. * * **Change the billing method from pay-as-you-go to subscription**: * * You can change the billing method of all data disks that are attached to an instance from pay-as-you-go to subscription. * * This operation cannot be called for a pay-as-you-go instance that has an automatic release time set. * * @param request ModifyInstanceChargeTypeRequest * @return ModifyInstanceChargeTypeResponse */ async modifyInstanceChargeType(request: ModifyInstanceChargeTypeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceChargeTypeWithOptions(request, runtime); } /** * Take note of the following items: * * The instance must be in the **Stopped** (Stopped) state. The instance is automatically restarted after it is migrated. * * The network type of the instance must be Virtual Private Cloud (VPC). * * The instance and the destination dedicated host to which to migrate the instance must belong to the same account and reside in the same region and zone. * * A pay-as-you-go instance can be migrated to a subscription dedicated host. A subscription instance can be migrated only between subscription dedicated hosts. The expiration date of the subscription instance cannot be later than that of the destination dedicated host. * * You can migrate only pay-as-you-go instances from a shared host to a dedicated host. You cannot migrate subscription instances or preemptible instances from a shared host to a dedicated host. * * You can redeploy an instance to a specific dedicated host cluster. * * @param request ModifyInstanceDeploymentRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceDeploymentResponse */ async modifyInstanceDeploymentWithOptions(request: ModifyInstanceDeploymentRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.affinity)) { query["Affinity"] = request.affinity; } if (!Util.isUnset(request.dedicatedHostClusterId)) { query["DedicatedHostClusterId"] = request.dedicatedHostClusterId; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.deploymentSetGroupNo)) { query["DeploymentSetGroupNo"] = request.deploymentSetGroupNo; } if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.migrationType)) { query["MigrationType"] = request.migrationType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.removeFromDeploymentSet)) { query["RemoveFromDeploymentSet"] = request.removeFromDeploymentSet; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tenancy)) { query["Tenancy"] = request.tenancy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceDeployment", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceDeploymentResponse({})); } /** * Take note of the following items: * * The instance must be in the **Stopped** (Stopped) state. The instance is automatically restarted after it is migrated. * * The network type of the instance must be Virtual Private Cloud (VPC). * * The instance and the destination dedicated host to which to migrate the instance must belong to the same account and reside in the same region and zone. * * A pay-as-you-go instance can be migrated to a subscription dedicated host. A subscription instance can be migrated only between subscription dedicated hosts. The expiration date of the subscription instance cannot be later than that of the destination dedicated host. * * You can migrate only pay-as-you-go instances from a shared host to a dedicated host. You cannot migrate subscription instances or preemptible instances from a shared host to a dedicated host. * * You can redeploy an instance to a specific dedicated host cluster. * * @param request ModifyInstanceDeploymentRequest * @return ModifyInstanceDeploymentResponse */ async modifyInstanceDeployment(request: ModifyInstanceDeploymentRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceDeploymentWithOptions(request, runtime); } /** * This operation is used to modify the maintenance policy of an instance. The maintenance policy consists of the following maintenance attributes: * * Maintenance window: the time period that you specify for maintenance. * * Maintenance action: the action that you specify in response to instance shutdown. * * @param request ModifyInstanceMaintenanceAttributesRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceMaintenanceAttributesResponse */ async modifyInstanceMaintenanceAttributesWithOptions(request: ModifyInstanceMaintenanceAttributesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.actionOnMaintenance)) { query["ActionOnMaintenance"] = request.actionOnMaintenance; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.maintenanceWindow)) { query["MaintenanceWindow"] = request.maintenanceWindow; } if (!Util.isUnset(request.notifyOnMaintenance)) { query["NotifyOnMaintenance"] = request.notifyOnMaintenance; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceMaintenanceAttributes", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceMaintenanceAttributesResponse({})); } /** * This operation is used to modify the maintenance policy of an instance. The maintenance policy consists of the following maintenance attributes: * * Maintenance window: the time period that you specify for maintenance. * * Maintenance action: the action that you specify in response to instance shutdown. * * @param request ModifyInstanceMaintenanceAttributesRequest * @return ModifyInstanceMaintenanceAttributesResponse */ async modifyInstanceMaintenanceAttributes(request: ModifyInstanceMaintenanceAttributesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceMaintenanceAttributesWithOptions(request, runtime); } async modifyInstanceMetadataOptionsWithOptions(request: ModifyInstanceMetadataOptionsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.httpEndpoint)) { query["HttpEndpoint"] = request.httpEndpoint; } if (!Util.isUnset(request.httpPutResponseHopLimit)) { query["HttpPutResponseHopLimit"] = request.httpPutResponseHopLimit; } if (!Util.isUnset(request.httpTokens)) { query["HttpTokens"] = request.httpTokens; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceMetadataTags)) { query["InstanceMetadataTags"] = request.instanceMetadataTags; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceMetadataOptions", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceMetadataOptionsResponse({})); } async modifyInstanceMetadataOptions(request: ModifyInstanceMetadataOptionsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceMetadataOptionsWithOptions(request, runtime); } /** * Take note of the following items: * * From November 27, 2020, the maximum bandwidth value available for you to create ECS instances or to change ECS instance configurations is subject to the throttling policy for your account. To increase the maximum bandwidth value, submit a ticket. The following throttling policies apply: * * Within a single region, the sum of actual peak bandwidths of all ECS instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s. * * Within a single region, the sum of actual peak bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a subscription (PrePaid) instance from 0 Mbit/s when you modify the bandwidth configurations of the instance, a public IP address is automatically assigned to the instance. * * If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a pay-as-you-go (PostPaid) instance from 0 Mbit/s when you modify the bandwidth configurations of the instance, no public IP address is assigned to the instance. You must set `AllocatePublicIp` to true or call the [AllocatePublicIpAddress](~~25544~~) operation to assign a public IP address to the instance. * * An instance in the classic network must be in the Stopped state before you can upgrade its outbound public bandwidth (InternetMaxBandwidthOut) from 0 Mbit/s. * * After the bandwidth is upgraded, AutoPay is set to true by default and the payment is automatically made. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and must be canceled. If your account balance is insufficient, you can set AutoPay to false. In this case, when you call the ModifyInstanceNetworkSpec operation, an unpaid order is generated. Then, you can log on to the ECS console to pay for the order. * * The price difference is refunded to the payment account that you used. Vouchers or coupons that have been redeemed cannot be returned. * * @param request ModifyInstanceNetworkSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceNetworkSpecResponse */ async modifyInstanceNetworkSpecWithOptions(request: ModifyInstanceNetworkSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocatePublicIp)) { query["AllocatePublicIp"] = request.allocatePublicIp; } if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.ISP)) { query["ISP"] = request.ISP; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.networkChargeType)) { query["NetworkChargeType"] = request.networkChargeType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceNetworkSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceNetworkSpecResponse({})); } /** * Take note of the following items: * * From November 27, 2020, the maximum bandwidth value available for you to create ECS instances or to change ECS instance configurations is subject to the throttling policy for your account. To increase the maximum bandwidth value, submit a ticket. The following throttling policies apply: * * Within a single region, the sum of actual peak bandwidths of all ECS instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s. * * Within a single region, the sum of actual peak bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a subscription (PrePaid) instance from 0 Mbit/s when you modify the bandwidth configurations of the instance, a public IP address is automatically assigned to the instance. * * If you upgrade the outbound public bandwidth (InternetMaxBandwidthOut) of a pay-as-you-go (PostPaid) instance from 0 Mbit/s when you modify the bandwidth configurations of the instance, no public IP address is assigned to the instance. You must set `AllocatePublicIp` to true or call the [AllocatePublicIpAddress](~~25544~~) operation to assign a public IP address to the instance. * * An instance in the classic network must be in the Stopped state before you can upgrade its outbound public bandwidth (InternetMaxBandwidthOut) from 0 Mbit/s. * * After the bandwidth is upgraded, AutoPay is set to true by default and the payment is automatically made. Make sure that your account balance is sufficient. Otherwise, your order becomes invalid and must be canceled. If your account balance is insufficient, you can set AutoPay to false. In this case, when you call the ModifyInstanceNetworkSpec operation, an unpaid order is generated. Then, you can log on to the ECS console to pay for the order. * * The price difference is refunded to the payment account that you used. Vouchers or coupons that have been redeemed cannot be returned. * * @param request ModifyInstanceNetworkSpecRequest * @return ModifyInstanceNetworkSpecResponse */ async modifyInstanceNetworkSpec(request: ModifyInstanceNetworkSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceNetworkSpecWithOptions(request, runtime); } /** * ## [](#)Usage notes * For information about how to use ECS SDK for Python to change resource configurations, see [Query available resources for configuration changes](~~109517~~). * Take note of the following items: * * Make sure that you have no overdue payments in your account. * * You can adjust the public bandwidth of an instance only when the instance is in the **Running** (`Running`) or **Stopped** (`Stopped`) state. * * Before you change the instance type of a pay-as-you-go instance, call the [DescribeResourcesModification](~~66187~~) operation to query compatible instance types. * * You can change the instance type of an instance only when the instance is in the **Stopped** (`Stopped`) state. * * The instance type and the public bandwidth of an instance cannot be changed together. * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the maximum bandwidth value, submit a ticket. The following throttling policies apply: * * In each region, the sum of actual maximum bandwidths of all ECS instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s. * * In each region, the sum of actual maximum bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * @param request ModifyInstanceSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceSpecResponse */ async modifyInstanceSpecWithOptions(request: ModifyInstanceSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allowMigrateAcrossZone)) { query["AllowMigrateAcrossZone"] = request.allowMigrateAcrossZone; } if (!Util.isUnset(request.async)) { query["Async"] = request.async; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.disk)) { query["Disk"] = request.disk; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.modifyMode)) { query["ModifyMode"] = request.modifyMode; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } if (!Util.isUnset(request.temporary)) { query["Temporary"] = request.temporary; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceSpecResponse({})); } /** * ## [](#)Usage notes * For information about how to use ECS SDK for Python to change resource configurations, see [Query available resources for configuration changes](~~109517~~). * Take note of the following items: * * Make sure that you have no overdue payments in your account. * * You can adjust the public bandwidth of an instance only when the instance is in the **Running** (`Running`) or **Stopped** (`Stopped`) state. * * Before you change the instance type of a pay-as-you-go instance, call the [DescribeResourcesModification](~~66187~~) operation to query compatible instance types. * * You can change the instance type of an instance only when the instance is in the **Stopped** (`Stopped`) state. * * The instance type and the public bandwidth of an instance cannot be changed together. * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the maximum bandwidth value, submit a ticket. The following throttling policies apply: * * In each region, the sum of actual maximum bandwidths of all ECS instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s. * * In each region, the sum of actual maximum bandwidths of all ECS instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * @param request ModifyInstanceSpecRequest * @return ModifyInstanceSpecResponse */ async modifyInstanceSpec(request: ModifyInstanceSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceSpecWithOptions(request, runtime); } /** * * The password must be six characters in length and can contain only uppercase letters, lowercase letters, and digits. * * After you modify the VNC password of an instance, take note of the following items: * * If the instance is I/O optimized, the new password takes effect immediately. * * If the instance is not I/O optimized, you must [restart the instance](~~25440~~) by using the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new password to take effect. * * @param request ModifyInstanceVncPasswdRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceVncPasswdResponse */ async modifyInstanceVncPasswdWithOptions(request: ModifyInstanceVncPasswdRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vncPassword)) { query["VncPassword"] = request.vncPassword; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceVncPasswd", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceVncPasswdResponse({})); } /** * * The password must be six characters in length and can contain only uppercase letters, lowercase letters, and digits. * * After you modify the VNC password of an instance, take note of the following items: * * If the instance is I/O optimized, the new password takes effect immediately. * * If the instance is not I/O optimized, you must [restart the instance](~~25440~~) by using the ECS console or by calling the [RebootInstance](~~25502~~) operation for the new password to take effect. * * @param request ModifyInstanceVncPasswdRequest * @return ModifyInstanceVncPasswdResponse */ async modifyInstanceVncPasswd(request: ModifyInstanceVncPasswdRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceVncPasswdWithOptions(request, runtime); } /** * ## [](#)Usage notes * The instance that you want to manage must be in the **Stopped** (`Stopped`) state. * * When you call this operation to change the private IP address or vSwitch of an instance, take note of the following items: * * If the instance is a new instance, you must restart the instance before you call this operation. * * After the private IP address or vSwitch of the instance is changed, you must restart the instance before you can recall this operation. * * When you call this operation to change the VPC of an instance, take note of the following items: * * **Instance:** * * The instance cannot be associated with Server Load Balancer (SLB) instances. * * The instance cannot be in the Locked, To Be Released, Expired, Expired and Being Recycled, or Overdue and Being Recycled state. For more information, see [Instance lifecycle](~~25380~~). * * The instance cannot be used in other Alibaba Cloud services. For example, the instance cannot be in the process of being migrated or having its VPC changed, or the databases deployed on the instance cannot be managed by Data Transmission Service (DTS). * * **Network:** * * The cut-through mode or the multi-elastic IP address (EIP)-to-elastic network interface (ENI) mode cannot be enabled for the instance. * * The instance cannot be associated with a high-availability virtual IP address (HAVIP). * * The vSwitch of the instance cannot be associated with a custom route table. * * Global Accelerator (GA) cannot be activated for the instance. * * The instance cannot have secondary ENIs. * * The instance cannot be assigned an IPv6 address. * * The primary ENI of the instance cannot be associated with multiple IP addresses. * * The new vSwitch that you specify must belong to the new VPC. * * The original and new vSwitches must reside in the same zone. * * If you assign a private IP address to the primary ENI of the instance, the private IP address must be an idle IP address within the CIDR block of the new vSwitch. If you do not assign a private IP address to the primary ENI of the instance, a private IP address is randomly assigned to the ENI. Make sure that sufficient IP addresses are available in the CIDR block of the new vSwitch. * * The Alibaba Cloud account that owns the new VPC cannot share the VPC with other accounts. * * **Security group (SecurityGroupId.N):** * * All security groups must be of the same type. * * The valid values of N vary based on the maximum number of security groups to which an instance can belong. For more information, see the "Security group limits" section in [Limits](~~25412~~). * * The security groups that you specify must belong to the new VPC. * * You can switch the instance to security groups of a different type. To ensure network connectivity, we recommend that you understand the differences in rule configurations of the two security group types before you switch an instance to security groups of a different type. For more information, see [Overview](~~25387~~). * * @param request ModifyInstanceVpcAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInstanceVpcAttributeResponse */ async modifyInstanceVpcAttributeWithOptions(request: ModifyInstanceVpcAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInstanceVpcAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInstanceVpcAttributeResponse({})); } /** * ## [](#)Usage notes * The instance that you want to manage must be in the **Stopped** (`Stopped`) state. * * When you call this operation to change the private IP address or vSwitch of an instance, take note of the following items: * * If the instance is a new instance, you must restart the instance before you call this operation. * * After the private IP address or vSwitch of the instance is changed, you must restart the instance before you can recall this operation. * * When you call this operation to change the VPC of an instance, take note of the following items: * * **Instance:** * * The instance cannot be associated with Server Load Balancer (SLB) instances. * * The instance cannot be in the Locked, To Be Released, Expired, Expired and Being Recycled, or Overdue and Being Recycled state. For more information, see [Instance lifecycle](~~25380~~). * * The instance cannot be used in other Alibaba Cloud services. For example, the instance cannot be in the process of being migrated or having its VPC changed, or the databases deployed on the instance cannot be managed by Data Transmission Service (DTS). * * **Network:** * * The cut-through mode or the multi-elastic IP address (EIP)-to-elastic network interface (ENI) mode cannot be enabled for the instance. * * The instance cannot be associated with a high-availability virtual IP address (HAVIP). * * The vSwitch of the instance cannot be associated with a custom route table. * * Global Accelerator (GA) cannot be activated for the instance. * * The instance cannot have secondary ENIs. * * The instance cannot be assigned an IPv6 address. * * The primary ENI of the instance cannot be associated with multiple IP addresses. * * The new vSwitch that you specify must belong to the new VPC. * * The original and new vSwitches must reside in the same zone. * * If you assign a private IP address to the primary ENI of the instance, the private IP address must be an idle IP address within the CIDR block of the new vSwitch. If you do not assign a private IP address to the primary ENI of the instance, a private IP address is randomly assigned to the ENI. Make sure that sufficient IP addresses are available in the CIDR block of the new vSwitch. * * The Alibaba Cloud account that owns the new VPC cannot share the VPC with other accounts. * * **Security group (SecurityGroupId.N):** * * All security groups must be of the same type. * * The valid values of N vary based on the maximum number of security groups to which an instance can belong. For more information, see the "Security group limits" section in [Limits](~~25412~~). * * The security groups that you specify must belong to the new VPC. * * You can switch the instance to security groups of a different type. To ensure network connectivity, we recommend that you understand the differences in rule configurations of the two security group types before you switch an instance to security groups of a different type. For more information, see [Overview](~~25387~~). * * @param request ModifyInstanceVpcAttributeRequest * @return ModifyInstanceVpcAttributeResponse */ async modifyInstanceVpcAttribute(request: ModifyInstanceVpcAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInstanceVpcAttributeWithOptions(request, runtime); } /** * * You can modify the execution information of a task that runs a command in one of the following modes. To query the execution mode of a command, you can call the [DescribeInvocations](~~2679916~~) operation and check the `RepeatMode` value in the response. * * Period: The task runs the command on a schedule. * * NextRebootOnly: The task runs the command the next time the associated instances start. * * EveryReboot: The task runs the command every time the associated instances start. * * You can modify the execution information of a command task in one of the following execution states. To query the execution status of a command, you can call the [DescribeInvocations](~~2679916~~) operation and check the `InvocationStatus` value. * * Pending: The command is being verified or sent. When the execution state on at least one instance is Pending, the overall execution state is Pending. * * Running: The command is being run on instances. When the execution state on at least one instance is Running, the overall execution state is Running. * * Scheduled: The command that is set to run on a schedule is sent and waiting to be run. When the execution state on at least one instance is Scheduled, the overall execution state is Scheduled. * * Stopping: The command task is being stopped. When the execution state on at least one instance is Stopping, the overall execution state is Stopping. * * Before you modify the execution information of a scheduled task, such as the command content, custom parameters, and execution frequency, make sure that the version of Cloud Assistant Agent on the ECS instances or managed instances associated with the task is later than the following versions: * * Linux: 2.2.3.541 * * Windows: 2.1.3.541 * * If the `InvalidOperation.CloudAssistantVersionUnsupported` error code is returned in the response, update Cloud Assistant Agent to the latest version. * * You cannot modify `CommandContent` for a common Cloud Assistant command. * * If you modify the `CommandContent` value of a command and set `KeepCommand` to `true` when you call the [InvokeCommand](~~64841~~) or [RunCommand](~~141751~~) operation to run the command, a new command is added and retained. The new command consumes the quota for Cloud Assistant commands. You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](~~184116~~). * * @param tmpReq ModifyInvocationAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyInvocationAttributeResponse */ async modifyInvocationAttributeWithOptions(tmpReq: ModifyInvocationAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(tmpReq); let request = new ModifyInvocationAttributeShrinkRequest({ }); OpenApiUtil.convert(tmpReq, request); if (!Util.isUnset(tmpReq.parameters)) { request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, "Parameters", "json"); } let query = { }; if (!Util.isUnset(request.commandContent)) { query["CommandContent"] = request.commandContent; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.enableParameter)) { query["EnableParameter"] = request.enableParameter; } if (!Util.isUnset(request.frequency)) { query["Frequency"] = request.frequency; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.invokeId)) { query["InvokeId"] = request.invokeId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.parametersShrink)) { query["Parameters"] = request.parametersShrink; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyInvocationAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyInvocationAttributeResponse({})); } /** * * You can modify the execution information of a task that runs a command in one of the following modes. To query the execution mode of a command, you can call the [DescribeInvocations](~~2679916~~) operation and check the `RepeatMode` value in the response. * * Period: The task runs the command on a schedule. * * NextRebootOnly: The task runs the command the next time the associated instances start. * * EveryReboot: The task runs the command every time the associated instances start. * * You can modify the execution information of a command task in one of the following execution states. To query the execution status of a command, you can call the [DescribeInvocations](~~2679916~~) operation and check the `InvocationStatus` value. * * Pending: The command is being verified or sent. When the execution state on at least one instance is Pending, the overall execution state is Pending. * * Running: The command is being run on instances. When the execution state on at least one instance is Running, the overall execution state is Running. * * Scheduled: The command that is set to run on a schedule is sent and waiting to be run. When the execution state on at least one instance is Scheduled, the overall execution state is Scheduled. * * Stopping: The command task is being stopped. When the execution state on at least one instance is Stopping, the overall execution state is Stopping. * * Before you modify the execution information of a scheduled task, such as the command content, custom parameters, and execution frequency, make sure that the version of Cloud Assistant Agent on the ECS instances or managed instances associated with the task is later than the following versions: * * Linux: 2.2.3.541 * * Windows: 2.1.3.541 * * If the `InvalidOperation.CloudAssistantVersionUnsupported` error code is returned in the response, update Cloud Assistant Agent to the latest version. * * You cannot modify `CommandContent` for a common Cloud Assistant command. * * If you modify the `CommandContent` value of a command and set `KeepCommand` to `true` when you call the [InvokeCommand](~~64841~~) or [RunCommand](~~141751~~) operation to run the command, a new command is added and retained. The new command consumes the quota for Cloud Assistant commands. You can retain up to 500 to 50,000 Cloud Assistant commands in each region. You can apply for a quota increase. For information about how to query and increase quotas, see [Manage quotas](~~184116~~). * * @param request ModifyInvocationAttributeRequest * @return ModifyInvocationAttributeResponse */ async modifyInvocationAttribute(request: ModifyInvocationAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyInvocationAttributeWithOptions(request, runtime); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=ModifyLaunchTemplateDefaultVersion\\&type=RPC\\&version=2014-05-26) * * @param request ModifyLaunchTemplateDefaultVersionRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyLaunchTemplateDefaultVersionResponse */ async modifyLaunchTemplateDefaultVersionWithOptions(request: ModifyLaunchTemplateDefaultVersionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.defaultVersionNumber)) { query["DefaultVersionNumber"] = request.defaultVersionNumber; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyLaunchTemplateDefaultVersion", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyLaunchTemplateDefaultVersionResponse({})); } /** * ## Debugging * [OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ecs\\&api=ModifyLaunchTemplateDefaultVersion\\&type=RPC\\&version=2014-05-26) * * @param request ModifyLaunchTemplateDefaultVersionRequest * @return ModifyLaunchTemplateDefaultVersionResponse */ async modifyLaunchTemplateDefaultVersion(request: ModifyLaunchTemplateDefaultVersionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyLaunchTemplateDefaultVersionWithOptions(request, runtime); } /** * The region ID. The following regions are supported: 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](~~25609~~) operation to query the most recent region list. * * @param request ModifyManagedInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyManagedInstanceResponse */ async modifyManagedInstanceWithOptions(request: ModifyManagedInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyManagedInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyManagedInstanceResponse({})); } /** * The region ID. The following regions are supported: 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](~~25609~~) operation to query the most recent region list. * * @param request ModifyManagedInstanceRequest * @return ModifyManagedInstanceResponse */ async modifyManagedInstance(request: ModifyManagedInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyManagedInstanceWithOptions(request, runtime); } async modifyNetworkInterfaceAttributeWithOptions(request: ModifyNetworkInterfaceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.deleteOnRelease)) { query["DeleteOnRelease"] = request.deleteOnRelease; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.networkInterfaceName)) { query["NetworkInterfaceName"] = request.networkInterfaceName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.queueNumber)) { query["QueueNumber"] = request.queueNumber; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.rxQueueSize)) { query["RxQueueSize"] = request.rxQueueSize; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.txQueueSize)) { query["TxQueueSize"] = request.txQueueSize; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyNetworkInterfaceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyNetworkInterfaceAttributeResponse({})); } async modifyNetworkInterfaceAttribute(request: ModifyNetworkInterfaceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyNetworkInterfaceAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyPhysicalConnectionAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyPhysicalConnectionAttributeResponse */ // Deprecated async modifyPhysicalConnectionAttributeWithOptions(request: ModifyPhysicalConnectionAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.circuitCode)) { query["CircuitCode"] = request.circuitCode; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.lineOperator)) { query["LineOperator"] = request.lineOperator; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.peerLocation)) { query["PeerLocation"] = request.peerLocation; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.portType)) { query["PortType"] = request.portType; } if (!Util.isUnset(request.redundantPhysicalConnectionId)) { query["RedundantPhysicalConnectionId"] = request.redundantPhysicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.bandwidth)) { query["bandwidth"] = request.bandwidth; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyPhysicalConnectionAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyPhysicalConnectionAttributeResponse({})); } /** * @deprecated * * @param request ModifyPhysicalConnectionAttributeRequest * @return ModifyPhysicalConnectionAttributeResponse */ // Deprecated async modifyPhysicalConnectionAttribute(request: ModifyPhysicalConnectionAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyPhysicalConnectionAttributeWithOptions(request, runtime); } /** * * The specified CIDR block must be valid. For example, 10.0.0.0/8 is a valid CIDR block while 10.0.0.1/8 is not. For more information, see the [What is CIDR?](~~40637~~#section-jua-0tj-q5m) section in the "Network FAQ" topic. * * When you add or delete an entry, you cannot specify duplicate CIDR blocks. Examples: * * For IPv4 CIDR blocks, you cannot specify the 10.0.0.0/8 CIDR block in two entries. You cannot specify the 10.0.0.1/32 CIDR block in one entry and the 10.0.0.1 CIDR block in another entry. The two CIDR blocks are the same. * * For IPv6 CIDR blocks, you cannot specify the 2001:fd01:0:0:0:0:0:0/32 CIDR block in one entry and the 2001:fd01::/32 CIDR block in another entry. The two CIDR blocks are the same. * * The CIDR block in an entry to be added cannot the same as that in an entry to be deleted. For example, when you add an entry in which the 10.0.0.0/8 CIDR block is specified, make sure the 10.0.0.0/8 CIDR block is not specified in an entry to be deleted. * * If you want to modify the description of an entry, you must specify the CIDR block (`AddEntry.N.Cidr`) and new description (`AddEntry.N.Description`) for the entry. * * @param request ModifyPrefixListRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyPrefixListResponse */ async modifyPrefixListWithOptions(request: ModifyPrefixListRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.addEntry)) { query["AddEntry"] = request.addEntry; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.prefixListId)) { query["PrefixListId"] = request.prefixListId; } if (!Util.isUnset(request.prefixListName)) { query["PrefixListName"] = request.prefixListName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.removeEntry)) { query["RemoveEntry"] = request.removeEntry; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyPrefixList", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyPrefixListResponse({})); } /** * * The specified CIDR block must be valid. For example, 10.0.0.0/8 is a valid CIDR block while 10.0.0.1/8 is not. For more information, see the [What is CIDR?](~~40637~~#section-jua-0tj-q5m) section in the "Network FAQ" topic. * * When you add or delete an entry, you cannot specify duplicate CIDR blocks. Examples: * * For IPv4 CIDR blocks, you cannot specify the 10.0.0.0/8 CIDR block in two entries. You cannot specify the 10.0.0.1/32 CIDR block in one entry and the 10.0.0.1 CIDR block in another entry. The two CIDR blocks are the same. * * For IPv6 CIDR blocks, you cannot specify the 2001:fd01:0:0:0:0:0:0/32 CIDR block in one entry and the 2001:fd01::/32 CIDR block in another entry. The two CIDR blocks are the same. * * The CIDR block in an entry to be added cannot the same as that in an entry to be deleted. For example, when you add an entry in which the 10.0.0.0/8 CIDR block is specified, make sure the 10.0.0.0/8 CIDR block is not specified in an entry to be deleted. * * If you want to modify the description of an entry, you must specify the CIDR block (`AddEntry.N.Cidr`) and new description (`AddEntry.N.Description`) for the entry. * * @param request ModifyPrefixListRequest * @return ModifyPrefixListResponse */ async modifyPrefixList(request: ModifyPrefixListRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyPrefixListWithOptions(request, runtime); } /** * ## [](#)Usage notes * Before you call this operation, we recommend that you familiarize yourself with the billing methods, pricing schedule, and refund rules of [ECS](https://www.alibabacloud.com/product/ecs#pricing). For information about the refund rules, see [Rules for unsubscribing from resources](~~476339~~). * Before you change the instance type of a subscription instance, call the [DescribeResourcesModification](~~66187~~) operation to query the instance types to which you can change the instance. You can use ECS SDK for Python. For more information, see [Query available resources for configuration changes](~~109517~~). * Take note of the following items: * * To change the instance type of an expired instance, you must first renew the instance. * * When you downgrade the instance type of an instance, take note of the following items: * * The instance must be in the **Stopped** (`Stopped`) state. * * The price difference is refunded to the payment account you used. Vouchers that have been redeemed are not refundable. * * The operation is asynchronous. Wait 5 to 10 seconds for the instance type change to complete. Then, restart the instance by calling the RebootInstance operation or by using the ECS console for the instance type change to take effect. If you restart only the operating system of the instance, the instance type change does not take effect. * * If the instance is in the **Stopped** state, you only need to start the instance. You do not need to restart the instance after it enters the Running state. * * If `RebootWhenFinished` is set to true for the instance, you do not need to restart the instance. * * @param request ModifyPrepayInstanceSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyPrepayInstanceSpecResponse */ async modifyPrepayInstanceSpecWithOptions(request: ModifyPrepayInstanceSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.disk)) { query["Disk"] = request.disk; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.migrateAcrossZone)) { query["MigrateAcrossZone"] = request.migrateAcrossZone; } if (!Util.isUnset(request.modifyMode)) { query["ModifyMode"] = request.modifyMode; } if (!Util.isUnset(request.operatorType)) { query["OperatorType"] = request.operatorType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.rebootTime)) { query["RebootTime"] = request.rebootTime; } if (!Util.isUnset(request.rebootWhenFinished)) { query["RebootWhenFinished"] = request.rebootWhenFinished; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyPrepayInstanceSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyPrepayInstanceSpecResponse({})); } /** * ## [](#)Usage notes * Before you call this operation, we recommend that you familiarize yourself with the billing methods, pricing schedule, and refund rules of [ECS](https://www.alibabacloud.com/product/ecs#pricing). For information about the refund rules, see [Rules for unsubscribing from resources](~~476339~~). * Before you change the instance type of a subscription instance, call the [DescribeResourcesModification](~~66187~~) operation to query the instance types to which you can change the instance. You can use ECS SDK for Python. For more information, see [Query available resources for configuration changes](~~109517~~). * Take note of the following items: * * To change the instance type of an expired instance, you must first renew the instance. * * When you downgrade the instance type of an instance, take note of the following items: * * The instance must be in the **Stopped** (`Stopped`) state. * * The price difference is refunded to the payment account you used. Vouchers that have been redeemed are not refundable. * * The operation is asynchronous. Wait 5 to 10 seconds for the instance type change to complete. Then, restart the instance by calling the RebootInstance operation or by using the ECS console for the instance type change to take effect. If you restart only the operating system of the instance, the instance type change does not take effect. * * If the instance is in the **Stopped** state, you only need to start the instance. You do not need to restart the instance after it enters the Running state. * * If `RebootWhenFinished` is set to true for the instance, you do not need to restart the instance. * * @param request ModifyPrepayInstanceSpecRequest * @return ModifyPrepayInstanceSpecResponse */ async modifyPrepayInstanceSpec(request: ModifyPrepayInstanceSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyPrepayInstanceSpecWithOptions(request, runtime); } async modifyReservedInstanceAttributeWithOptions(request: ModifyReservedInstanceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.reservedInstanceName)) { query["ReservedInstanceName"] = request.reservedInstanceName; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyReservedInstanceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyReservedInstanceAttributeResponse({})); } async modifyReservedInstanceAttribute(request: ModifyReservedInstanceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyReservedInstanceAttributeWithOptions(request, runtime); } async modifyReservedInstanceAutoRenewAttributeWithOptions(request: ModifyReservedInstanceAutoRenewAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.renewalStatus)) { query["RenewalStatus"] = request.renewalStatus; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyReservedInstanceAutoRenewAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyReservedInstanceAutoRenewAttributeResponse({})); } async modifyReservedInstanceAutoRenewAttribute(request: ModifyReservedInstanceAutoRenewAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyReservedInstanceAutoRenewAttributeWithOptions(request, runtime); } /** * The region ID of the reserved instance. * You can call the [DescribeRegions](~~25609~~) operation to query the most recent list of regions. * * @param request ModifyReservedInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyReservedInstancesResponse */ async modifyReservedInstancesWithOptions(request: ModifyReservedInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.configuration)) { query["Configuration"] = request.configuration; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyReservedInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyReservedInstancesResponse({})); } /** * The region ID of the reserved instance. * You can call the [DescribeRegions](~~25609~~) operation to query the most recent list of regions. * * @param request ModifyReservedInstancesRequest * @return ModifyReservedInstancesResponse */ async modifyReservedInstances(request: ModifyReservedInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyReservedInstancesWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyRouterInterfaceAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyRouterInterfaceAttributeResponse */ // Deprecated async modifyRouterInterfaceAttributeWithOptions(request: ModifyRouterInterfaceAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.healthCheckSourceIp)) { query["HealthCheckSourceIp"] = request.healthCheckSourceIp; } if (!Util.isUnset(request.healthCheckTargetIp)) { query["HealthCheckTargetIp"] = request.healthCheckTargetIp; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.oppositeInterfaceId)) { query["OppositeInterfaceId"] = request.oppositeInterfaceId; } if (!Util.isUnset(request.oppositeInterfaceOwnerId)) { query["OppositeInterfaceOwnerId"] = request.oppositeInterfaceOwnerId; } if (!Util.isUnset(request.oppositeRouterId)) { query["OppositeRouterId"] = request.oppositeRouterId; } if (!Util.isUnset(request.oppositeRouterType)) { query["OppositeRouterType"] = request.oppositeRouterType; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyRouterInterfaceAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyRouterInterfaceAttributeResponse({})); } /** * @deprecated * * @param request ModifyRouterInterfaceAttributeRequest * @return ModifyRouterInterfaceAttributeResponse */ // Deprecated async modifyRouterInterfaceAttribute(request: ModifyRouterInterfaceAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyRouterInterfaceAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyRouterInterfaceSpecRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyRouterInterfaceSpecResponse */ // Deprecated async modifyRouterInterfaceSpecWithOptions(request: ModifyRouterInterfaceSpecRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.routerInterfaceId)) { query["RouterInterfaceId"] = request.routerInterfaceId; } if (!Util.isUnset(request.spec)) { query["Spec"] = request.spec; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyRouterInterfaceSpec", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyRouterInterfaceSpecResponse({})); } /** * @deprecated * * @param request ModifyRouterInterfaceSpecRequest * @return ModifyRouterInterfaceSpecResponse */ // Deprecated async modifyRouterInterfaceSpec(request: ModifyRouterInterfaceSpecRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyRouterInterfaceSpecWithOptions(request, runtime); } async modifySecurityGroupAttributeWithOptions(request: ModifySecurityGroupAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupName)) { query["SecurityGroupName"] = request.securityGroupName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySecurityGroupAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySecurityGroupAttributeResponse({})); } async modifySecurityGroupAttribute(request: ModifySecurityGroupAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySecurityGroupAttributeWithOptions(request, runtime); } /** * In security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device. * When you modify the rules of a security group by specifying the rule IDs, take note of the following limits: * * A security group authorization object can be one of the following types: IP address or CIDR block, security group, and prefix list. The type of an existing security group authorization object cannot be modified. If the original authorization object is an IP address, you can change the authorization object to a different IP address or CIDR block, but you cannot change the authorization object to a security group or a prefix list. * * The IP address family of the authorization object cannot be changed. For example, if the original authorization object is an IPv4 CIDR block, you cannot change the authorization object to an IPv6 CIDR block. If the original authorization object is a prefix list of an IPv4 address family, you cannot change the authorization object to a prefix list of an IPv6 address family. * * The modified security group rule cannot be the same as other existing rules. * * You cannot delete the value of a non-empty parameter. We recommend that you create a new rule and delete the original rule. * * @param request ModifySecurityGroupEgressRuleRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifySecurityGroupEgressRuleResponse */ async modifySecurityGroupEgressRuleWithOptions(request: ModifySecurityGroupEgressRuleRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.destGroupId)) { query["DestGroupId"] = request.destGroupId; } if (!Util.isUnset(request.destGroupOwnerAccount)) { query["DestGroupOwnerAccount"] = request.destGroupOwnerAccount; } if (!Util.isUnset(request.destGroupOwnerId)) { query["DestGroupOwnerId"] = request.destGroupOwnerId; } if (!Util.isUnset(request.destPrefixListId)) { query["DestPrefixListId"] = request.destPrefixListId; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupRuleId)) { query["SecurityGroupRuleId"] = request.securityGroupRuleId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySecurityGroupEgressRule", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySecurityGroupEgressRuleResponse({})); } /** * In security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device. * When you modify the rules of a security group by specifying the rule IDs, take note of the following limits: * * A security group authorization object can be one of the following types: IP address or CIDR block, security group, and prefix list. The type of an existing security group authorization object cannot be modified. If the original authorization object is an IP address, you can change the authorization object to a different IP address or CIDR block, but you cannot change the authorization object to a security group or a prefix list. * * The IP address family of the authorization object cannot be changed. For example, if the original authorization object is an IPv4 CIDR block, you cannot change the authorization object to an IPv6 CIDR block. If the original authorization object is a prefix list of an IPv4 address family, you cannot change the authorization object to a prefix list of an IPv6 address family. * * The modified security group rule cannot be the same as other existing rules. * * You cannot delete the value of a non-empty parameter. We recommend that you create a new rule and delete the original rule. * * @param request ModifySecurityGroupEgressRuleRequest * @return ModifySecurityGroupEgressRuleResponse */ async modifySecurityGroupEgressRule(request: ModifySecurityGroupEgressRuleRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySecurityGroupEgressRuleWithOptions(request, runtime); } /** * Take note of the following items: * * When InnerAccessPolicy is set to Accept for a security group, the instances in the security group can communicate with each other. In this case, the Accept internal access control policy takes precedence over user-created security group rules to keep instances in the security group accessible to each other. * * When InnerAccessPolicy is set to Drop for a security group, the instances in the security group are isolated from each other. In this case, user-created security group rules take precedence over the Drop internal access control policy and can be used to allow access between the instances. For example, you can call the [AuthorizeSecurityGroup](~~25554~~) operation to create an inbound security group rule that allows the instances in the security group to communicate with each other. * * You can call the [DescribeSecurityGroupAttribute](~~25555~~) operation to query the internal access policy of a security group. * * @param request ModifySecurityGroupPolicyRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifySecurityGroupPolicyResponse */ async modifySecurityGroupPolicyWithOptions(request: ModifySecurityGroupPolicyRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.innerAccessPolicy)) { query["InnerAccessPolicy"] = request.innerAccessPolicy; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySecurityGroupPolicy", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySecurityGroupPolicyResponse({})); } /** * Take note of the following items: * * When InnerAccessPolicy is set to Accept for a security group, the instances in the security group can communicate with each other. In this case, the Accept internal access control policy takes precedence over user-created security group rules to keep instances in the security group accessible to each other. * * When InnerAccessPolicy is set to Drop for a security group, the instances in the security group are isolated from each other. In this case, user-created security group rules take precedence over the Drop internal access control policy and can be used to allow access between the instances. For example, you can call the [AuthorizeSecurityGroup](~~25554~~) operation to create an inbound security group rule that allows the instances in the security group to communicate with each other. * * You can call the [DescribeSecurityGroupAttribute](~~25555~~) operation to query the internal access policy of a security group. * * @param request ModifySecurityGroupPolicyRequest * @return ModifySecurityGroupPolicyResponse */ async modifySecurityGroupPolicy(request: ModifySecurityGroupPolicyRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySecurityGroupPolicyWithOptions(request, runtime); } /** * ## [](#)Usage notes * In security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device. * Take note of the following items: * * An authorization object in a security group rule can be one of the following types: IP address or CIDR block, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IP address, you can change the authorization object to another IP address or a CIDR block, but you cannot change the authorization object to a security group or prefix list. * * You cannot change the IP address family of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you cannot change the authorization object to an IPv6 CIDR block. If an authorization object is a prefix list of the IPv4 address family, you cannot change the authorization object to a prefix list of the IPv6 address family. * * The new security group rule after modification cannot be the same as other existing rules. * * You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create another rule and delete the original rule. * * @param request ModifySecurityGroupRuleRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifySecurityGroupRuleResponse */ async modifySecurityGroupRuleWithOptions(request: ModifySecurityGroupRuleRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupRuleId)) { query["SecurityGroupRuleId"] = request.securityGroupRuleId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourceGroupId)) { query["SourceGroupId"] = request.sourceGroupId; } if (!Util.isUnset(request.sourceGroupOwnerAccount)) { query["SourceGroupOwnerAccount"] = request.sourceGroupOwnerAccount; } if (!Util.isUnset(request.sourceGroupOwnerId)) { query["SourceGroupOwnerId"] = request.sourceGroupOwnerId; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } if (!Util.isUnset(request.sourcePrefixListId)) { query["SourcePrefixListId"] = request.sourcePrefixListId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySecurityGroupRule", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySecurityGroupRuleResponse({})); } /** * ## [](#)Usage notes * In security group-related API documents, inbound traffic refers to the traffic that is sent by the source device and received at the destination device. * Take note of the following items: * * An authorization object in a security group rule can be one of the following types: IP address or CIDR block, security group, or prefix list. You cannot call this operation to change the type of an existing authorization object. For example, if an authorization object is an IP address, you can change the authorization object to another IP address or a CIDR block, but you cannot change the authorization object to a security group or prefix list. * * You cannot change the IP address family of an existing authorization object. For example, if an authorization object is an IPv4 CIDR block, you cannot change the authorization object to an IPv6 CIDR block. If an authorization object is a prefix list of the IPv4 address family, you cannot change the authorization object to a prefix list of the IPv6 address family. * * The new security group rule after modification cannot be the same as other existing rules. * * You cannot delete the value of a non-empty parameter. If you want to delete the values of non-empty parameters, we recommend that you create another rule and delete the original rule. * * @param request ModifySecurityGroupRuleRequest * @return ModifySecurityGroupRuleResponse */ async modifySecurityGroupRule(request: ModifySecurityGroupRuleRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySecurityGroupRuleWithOptions(request, runtime); } async modifySnapshotAttributeWithOptions(request: ModifySnapshotAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.disableInstantAccess)) { query["DisableInstantAccess"] = request.disableInstantAccess; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.retentionDays)) { query["RetentionDays"] = request.retentionDays; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } if (!Util.isUnset(request.snapshotName)) { query["SnapshotName"] = request.snapshotName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySnapshotAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySnapshotAttributeResponse({})); } async modifySnapshotAttribute(request: ModifySnapshotAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySnapshotAttributeWithOptions(request, runtime); } async modifySnapshotGroupWithOptions(request: ModifySnapshotGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotGroupId)) { query["SnapshotGroupId"] = request.snapshotGroupId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifySnapshotGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifySnapshotGroupResponse({})); } async modifySnapshotGroup(request: ModifySnapshotGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifySnapshotGroupWithOptions(request, runtime); } async modifyStorageCapacityUnitAttributeWithOptions(request: ModifyStorageCapacityUnitAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageCapacityUnitId)) { query["StorageCapacityUnitId"] = request.storageCapacityUnitId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyStorageCapacityUnitAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyStorageCapacityUnitAttributeResponse({})); } async modifyStorageCapacityUnitAttribute(request: ModifyStorageCapacityUnitAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyStorageCapacityUnitAttributeWithOptions(request, runtime); } async modifyStorageSetAttributeWithOptions(request: ModifyStorageSetAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } if (!Util.isUnset(request.storageSetName)) { query["StorageSetName"] = request.storageSetName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyStorageSetAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyStorageSetAttributeResponse({})); } async modifyStorageSetAttribute(request: ModifyStorageSetAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyStorageSetAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyUserBusinessBehaviorRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyUserBusinessBehaviorResponse */ // Deprecated async modifyUserBusinessBehaviorWithOptions(request: ModifyUserBusinessBehaviorRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.statusKey)) { query["statusKey"] = request.statusKey; } if (!Util.isUnset(request.statusValue)) { query["statusValue"] = request.statusValue; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyUserBusinessBehavior", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyUserBusinessBehaviorResponse({})); } /** * @deprecated * * @param request ModifyUserBusinessBehaviorRequest * @return ModifyUserBusinessBehaviorResponse */ // Deprecated async modifyUserBusinessBehavior(request: ModifyUserBusinessBehaviorRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyUserBusinessBehaviorWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyVRouterAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyVRouterAttributeResponse */ // Deprecated async modifyVRouterAttributeWithOptions(request: ModifyVRouterAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.VRouterId)) { query["VRouterId"] = request.VRouterId; } if (!Util.isUnset(request.VRouterName)) { query["VRouterName"] = request.VRouterName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyVRouterAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyVRouterAttributeResponse({})); } /** * @deprecated * * @param request ModifyVRouterAttributeRequest * @return ModifyVRouterAttributeResponse */ // Deprecated async modifyVRouterAttribute(request: ModifyVRouterAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyVRouterAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyVSwitchAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyVSwitchAttributeResponse */ // Deprecated async modifyVSwitchAttributeWithOptions(request: ModifyVSwitchAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.vSwitchName)) { query["VSwitchName"] = request.vSwitchName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyVSwitchAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyVSwitchAttributeResponse({})); } /** * @deprecated * * @param request ModifyVSwitchAttributeRequest * @return ModifyVSwitchAttributeResponse */ // Deprecated async modifyVSwitchAttribute(request: ModifyVSwitchAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyVSwitchAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyVirtualBorderRouterAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyVirtualBorderRouterAttributeResponse */ // Deprecated async modifyVirtualBorderRouterAttributeWithOptions(request: ModifyVirtualBorderRouterAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.circuitCode)) { query["CircuitCode"] = request.circuitCode; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.localGatewayIp)) { query["LocalGatewayIp"] = request.localGatewayIp; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.peerGatewayIp)) { query["PeerGatewayIp"] = request.peerGatewayIp; } if (!Util.isUnset(request.peeringSubnetMask)) { query["PeeringSubnetMask"] = request.peeringSubnetMask; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vbrId)) { query["VbrId"] = request.vbrId; } if (!Util.isUnset(request.vlanId)) { query["VlanId"] = request.vlanId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyVirtualBorderRouterAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyVirtualBorderRouterAttributeResponse({})); } /** * @deprecated * * @param request ModifyVirtualBorderRouterAttributeRequest * @return ModifyVirtualBorderRouterAttributeResponse */ // Deprecated async modifyVirtualBorderRouterAttribute(request: ModifyVirtualBorderRouterAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyVirtualBorderRouterAttributeWithOptions(request, runtime); } /** * @deprecated * * @param request ModifyVpcAttributeRequest * @param runtime runtime options for this request RuntimeOptions * @return ModifyVpcAttributeResponse */ // Deprecated async modifyVpcAttributeWithOptions(request: ModifyVpcAttributeRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.cidrBlock)) { query["CidrBlock"] = request.cidrBlock; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vpcId)) { query["VpcId"] = request.vpcId; } if (!Util.isUnset(request.vpcName)) { query["VpcName"] = request.vpcName; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ModifyVpcAttribute", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ModifyVpcAttributeResponse({})); } /** * @deprecated * * @param request ModifyVpcAttributeRequest * @return ModifyVpcAttributeResponse */ // Deprecated async modifyVpcAttribute(request: ModifyVpcAttributeRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.modifyVpcAttributeWithOptions(request, runtime); } /** * * Before you call this operation, make sure that you are familiar with the billing method of reserved instances. For more information, see [Reserved instances](~~100371~~). * * Before you purchase a reserved instance, you can call the [DescribeAvailableResource](~~66186~~) operation to query available instance resources. * * @param request PurchaseReservedInstancesOfferingRequest * @param runtime runtime options for this request RuntimeOptions * @return PurchaseReservedInstancesOfferingResponse */ async purchaseReservedInstancesOfferingWithOptions(request: PurchaseReservedInstancesOfferingRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewPeriod)) { query["AutoRenewPeriod"] = request.autoRenewPeriod; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.instanceAmount)) { query["InstanceAmount"] = request.instanceAmount; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.offeringType)) { query["OfferingType"] = request.offeringType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceName)) { query["ReservedInstanceName"] = request.reservedInstanceName; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.scope)) { query["Scope"] = request.scope; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "PurchaseReservedInstancesOffering", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new PurchaseReservedInstancesOfferingResponse({})); } /** * * Before you call this operation, make sure that you are familiar with the billing method of reserved instances. For more information, see [Reserved instances](~~100371~~). * * Before you purchase a reserved instance, you can call the [DescribeAvailableResource](~~66186~~) operation to query available instance resources. * * @param request PurchaseReservedInstancesOfferingRequest * @return PurchaseReservedInstancesOfferingResponse */ async purchaseReservedInstancesOffering(request: PurchaseReservedInstancesOfferingRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.purchaseReservedInstancesOfferingWithOptions(request, runtime); } /** * Before you call this operation, make sure that you are familiar with the billing and pricing of SCUs. For more information, see [Storage capacity units](~~137897~~). * * @param request PurchaseStorageCapacityUnitRequest * @param runtime runtime options for this request RuntimeOptions * @return PurchaseStorageCapacityUnitResponse */ async purchaseStorageCapacityUnitWithOptions(request: PurchaseStorageCapacityUnitRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.amount)) { query["Amount"] = request.amount; } if (!Util.isUnset(request.capacity)) { query["Capacity"] = request.capacity; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.fromApp)) { query["FromApp"] = request.fromApp; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "PurchaseStorageCapacityUnit", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new PurchaseStorageCapacityUnitResponse({})); } /** * Before you call this operation, make sure that you are familiar with the billing and pricing of SCUs. For more information, see [Storage capacity units](~~137897~~). * * @param request PurchaseStorageCapacityUnitRequest * @return PurchaseStorageCapacityUnitResponse */ async purchaseStorageCapacityUnit(request: PurchaseStorageCapacityUnitRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.purchaseStorageCapacityUnitWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The instance must be in the `Stopped` state.**** * * If an instance has overdue payments for more than 15 days, the instance is stopped and released, and data on the instance can no longer be recovered. You must complete the overdue payments and reactivate the instance within 15 days. If you cannot reactivate an instance that resides in a virtual private cloud (VPC), wait a few minutes and try again. * * After the operation is called, the instance enters the `Starting` state.**** * * You cannot call this operation on ECS instances that are locked for security reasons. If `OperationLocks` in the response returned for the DescribeInstances operation contains `LockReason: security`, the instance is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request ReActivateInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return ReActivateInstancesResponse */ async reActivateInstancesWithOptions(request: ReActivateInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReActivateInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReActivateInstancesResponse({})); } /** * When you call this operation, take note of the following items: * * The instance must be in the `Stopped` state.**** * * If an instance has overdue payments for more than 15 days, the instance is stopped and released, and data on the instance can no longer be recovered. You must complete the overdue payments and reactivate the instance within 15 days. If you cannot reactivate an instance that resides in a virtual private cloud (VPC), wait a few minutes and try again. * * After the operation is called, the instance enters the `Starting` state.**** * * You cannot call this operation on ECS instances that are locked for security reasons. If `OperationLocks` in the response returned for the DescribeInstances operation contains `LockReason: security`, the instance is locked for security reasons. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request ReActivateInstancesRequest * @return ReActivateInstancesResponse */ async reActivateInstances(request: ReActivateInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.reActivateInstancesWithOptions(request, runtime); } /** * When you call this operation, take note of the following points: * * The disk that you want to re-initialize must be in the **In Use** (In_use) state and the instance to which the disk is attached must be in the **Stopped** (Stopped) state. * * If the instance has never been started since it was created, the disks attached to it cannot be re-initialized. * * If a local snapshot has been created for a disk, the disk cannot be re-initialized. * * When a system disk is re-initialized, it is restored to the state of the image from which it was created. If the source image is deleted, the system disk cannot be re-initialized. * * When a separately created data disk is re-initialized, it is restored to an empty data disk. * * When a data disk that was created from a snapshot is re-initialized, the disk is restored to the state of the snapshot. * > If the source snapshot is deleted, the disk cannot be re-initialized and an error is returned. * * @param request ReInitDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return ReInitDiskResponse */ async reInitDiskWithOptions(request: ReInitDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoStartInstance)) { query["AutoStartInstance"] = request.autoStartInstance; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReInitDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReInitDiskResponse({})); } /** * When you call this operation, take note of the following points: * * The disk that you want to re-initialize must be in the **In Use** (In_use) state and the instance to which the disk is attached must be in the **Stopped** (Stopped) state. * * If the instance has never been started since it was created, the disks attached to it cannot be re-initialized. * * If a local snapshot has been created for a disk, the disk cannot be re-initialized. * * When a system disk is re-initialized, it is restored to the state of the image from which it was created. If the source image is deleted, the system disk cannot be re-initialized. * * When a separately created data disk is re-initialized, it is restored to an empty data disk. * * When a data disk that was created from a snapshot is re-initialized, the disk is restored to the state of the snapshot. * > If the source snapshot is deleted, the disk cannot be re-initialized and an error is returned. * * @param request ReInitDiskRequest * @return ReInitDiskResponse */ async reInitDisk(request: ReInitDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.reInitDiskWithOptions(request, runtime); } /** * * Only instances that are in the `Running` state can be restarted.**** * * After an instance is restarted, the status of the instance changes to `Starting`.**** * * An instance can be forcibly restarted. A forced restart (`ForceStop`) is equivalent to performing a hard restart. This operation can cause data loss if data in the instance is not written to the disk. * * If you call the DescribeInstances operation to query the details of an instance and `OperationLocks` in the response contains "LockReason": "security", the instance is locked for security reasons and cannot be restarted. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request RebootInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return RebootInstanceResponse */ async rebootInstanceWithOptions(request: RebootInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.forceStop)) { query["ForceStop"] = request.forceStop; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RebootInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RebootInstanceResponse({})); } /** * * Only instances that are in the `Running` state can be restarted.**** * * After an instance is restarted, the status of the instance changes to `Starting`.**** * * An instance can be forcibly restarted. A forced restart (`ForceStop`) is equivalent to performing a hard restart. This operation can cause data loss if data in the instance is not written to the disk. * * If you call the DescribeInstances operation to query the details of an instance and `OperationLocks` in the response contains "LockReason": "security", the instance is locked for security reasons and cannot be restarted. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * @param request RebootInstanceRequest * @return RebootInstanceResponse */ async rebootInstance(request: RebootInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.rebootInstanceWithOptions(request, runtime); } /** * * The ECS instances must be in the `Running` state.**** * * You can use the `BatchOptimization` parameter to specify the batch operation mode and restart multiple instances at a time. * * Instances can be forcefully restarted. A forced restart (`ForceReboot`) is equivalent to powering off a traditional server and then restarting the server. If data in the instance operating system is not written to block storage devices when the operation is called, the data may be lost. * * If OperationLocks in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons and all operations are prohibited on it. * * @param request RebootInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return RebootInstancesResponse */ async rebootInstancesWithOptions(request: RebootInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.batchOptimization)) { query["BatchOptimization"] = request.batchOptimization; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.forceReboot)) { query["ForceReboot"] = request.forceReboot; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RebootInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RebootInstancesResponse({})); } /** * * The ECS instances must be in the `Running` state.**** * * You can use the `BatchOptimization` parameter to specify the batch operation mode and restart multiple instances at a time. * * Instances can be forcefully restarted. A forced restart (`ForceReboot`) is equivalent to powering off a traditional server and then restarting the server. If data in the instance operating system is not written to block storage devices when the operation is called, the data may be lost. * * If OperationLocks in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons and all operations are prohibited on it. * * @param request RebootInstancesRequest * @return RebootInstancesResponse */ async rebootInstances(request: RebootInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.rebootInstancesWithOptions(request, runtime); } /** * @deprecated * * @param request RecoverVirtualBorderRouterRequest * @param runtime runtime options for this request RuntimeOptions * @return RecoverVirtualBorderRouterResponse */ // Deprecated async recoverVirtualBorderRouterWithOptions(request: RecoverVirtualBorderRouterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vbrId)) { query["VbrId"] = request.vbrId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RecoverVirtualBorderRouter", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RecoverVirtualBorderRouterResponse({})); } /** * @deprecated * * @param request RecoverVirtualBorderRouterRequest * @return RecoverVirtualBorderRouterResponse */ // Deprecated async recoverVirtualBorderRouter(request: RecoverVirtualBorderRouterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.recoverVirtualBorderRouterWithOptions(request, runtime); } /** * If a dedicated host is in the UnderAssessment state, we recommend that you call this operation to migrate ECS instances away from the dedicated host to prevent permanent failures. You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the status of a dedicated host. * * @param request RedeployDedicatedHostRequest * @param runtime runtime options for this request RuntimeOptions * @return RedeployDedicatedHostResponse */ async redeployDedicatedHostWithOptions(request: RedeployDedicatedHostRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RedeployDedicatedHost", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RedeployDedicatedHostResponse({})); } /** * If a dedicated host is in the UnderAssessment state, we recommend that you call this operation to migrate ECS instances away from the dedicated host to prevent permanent failures. You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the status of a dedicated host. * * @param request RedeployDedicatedHostRequest * @return RedeployDedicatedHostResponse */ async redeployDedicatedHost(request: RedeployDedicatedHostRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.redeployDedicatedHostWithOptions(request, runtime); } /** * RedeployInstance is an asynchronous operation. This operation migrates data before it restarts the instance. After the instance is redeployed, the instance enters the `Running` state. If the instance fails to be redeployed, the instance returns to the original physical server and the state before redeployment. * Take note of the following items: * * The instance must be in the Running or Stopped state. After the instance is redeployed, the following changes occur to the status of the instance: * * If the instance is in the `Running` state before redeployment, the instance enters the `Stopping` state. * * If the instance is in the `Stopped` state before redeployment, the instance enters the `Starting` state. * * If an instance is deployed on a dedicated host, you cannot redeploy the instance. * * If the `OperationLocks` parameter in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons and cannot be redeployed. * * If you receive notifications about simulated events that are created by calling the CreateSimulatedSystemEvent operation for an instance, you cannot redeploy the instance. * * If the damaged local disk is isolated but the **SystemMaintenance.RebootAndReInitErrorDisk** event is not sent when you handle a local disk-related system event for an instance, you can still call the RedeployInstance operation to redeploy the instance. The SystemMaintenance.RebootAndReInitErrorDisk event indicates that the instance is restarted and the damaged disks are reinitialized due to system maintenance. For more information, see [System events for ECS instances equipped with local disks](~~107693~~). * The following table describes the system events that you can handle by calling the RedeployInstance operation. The table also provides possible event status. * |System event|Event status| * |---|---| * |Instance restart due to system maintenance (SystemMaintenance.Reboot)|Inquiring and Scheduled| * |Instance redeployment due to system maintenance (SystemMaintenance.Redeploy)|Inquiring and Scheduled| * |Instance restart and replacement of damaged disks due to system maintenance (SystemMaintenance.RebootAndIsolateErrorDisk)|Inquiring| * |Instance restart and re-initialization of damaged disks due to system maintenance (SystemMaintenance.RebootAndReInitErrorDisk)|Inquiring| * |Instance redeployment due to system errors (SystemFailure.Redeploy)|Inquiring and Scheduled| * |For ECS instances that use only local disks: instance restart due to a system error (SystemFailure.Reboot)|Executing| * |Isolation of damaged disks due to system maintenance (SystemMaintenance.IsolateErrorDisk)|Inquiring| * |Re-initialization of damaged disks due to system maintenance (SystemMaintenance.ReInitErrorDisk)|Inquiring| * **Note**When instances that use local disks are redeployed, the local disks are re-initialized and data on the local disks is cleared. * * @param request RedeployInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return RedeployInstanceResponse */ async redeployInstanceWithOptions(request: RedeployInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.forceStop)) { query["ForceStop"] = request.forceStop; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RedeployInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RedeployInstanceResponse({})); } /** * RedeployInstance is an asynchronous operation. This operation migrates data before it restarts the instance. After the instance is redeployed, the instance enters the `Running` state. If the instance fails to be redeployed, the instance returns to the original physical server and the state before redeployment. * Take note of the following items: * * The instance must be in the Running or Stopped state. After the instance is redeployed, the following changes occur to the status of the instance: * * If the instance is in the `Running` state before redeployment, the instance enters the `Stopping` state. * * If the instance is in the `Stopped` state before redeployment, the instance enters the `Starting` state. * * If an instance is deployed on a dedicated host, you cannot redeploy the instance. * * If the `OperationLocks` parameter in the response of the DescribeInstances operation contains `"LockReason" : "security"` for an instance, the instance is locked for security reasons and cannot be redeployed. * * If you receive notifications about simulated events that are created by calling the CreateSimulatedSystemEvent operation for an instance, you cannot redeploy the instance. * * If the damaged local disk is isolated but the **SystemMaintenance.RebootAndReInitErrorDisk** event is not sent when you handle a local disk-related system event for an instance, you can still call the RedeployInstance operation to redeploy the instance. The SystemMaintenance.RebootAndReInitErrorDisk event indicates that the instance is restarted and the damaged disks are reinitialized due to system maintenance. For more information, see [System events for ECS instances equipped with local disks](~~107693~~). * The following table describes the system events that you can handle by calling the RedeployInstance operation. The table also provides possible event status. * |System event|Event status| * |---|---| * |Instance restart due to system maintenance (SystemMaintenance.Reboot)|Inquiring and Scheduled| * |Instance redeployment due to system maintenance (SystemMaintenance.Redeploy)|Inquiring and Scheduled| * |Instance restart and replacement of damaged disks due to system maintenance (SystemMaintenance.RebootAndIsolateErrorDisk)|Inquiring| * |Instance restart and re-initialization of damaged disks due to system maintenance (SystemMaintenance.RebootAndReInitErrorDisk)|Inquiring| * |Instance redeployment due to system errors (SystemFailure.Redeploy)|Inquiring and Scheduled| * |For ECS instances that use only local disks: instance restart due to a system error (SystemFailure.Reboot)|Executing| * |Isolation of damaged disks due to system maintenance (SystemMaintenance.IsolateErrorDisk)|Inquiring| * |Re-initialization of damaged disks due to system maintenance (SystemMaintenance.ReInitErrorDisk)|Inquiring| * **Note**When instances that use local disks are redeployed, the local disks are re-initialized and data on the local disks is cleared. * * @param request RedeployInstanceRequest * @return RedeployInstanceResponse */ async redeployInstance(request: RedeployInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.redeployInstanceWithOptions(request, runtime); } /** * If the release mode of a capacity reservation that takes effect immediately is set to manual release, you can call this operation to release the capacity reservation. * * @param request ReleaseCapacityReservationRequest * @param runtime runtime options for this request RuntimeOptions * @return ReleaseCapacityReservationResponse */ async releaseCapacityReservationWithOptions(request: ReleaseCapacityReservationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReleaseCapacityReservation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReleaseCapacityReservationResponse({})); } /** * If the release mode of a capacity reservation that takes effect immediately is set to manual release, you can call this operation to release the capacity reservation. * * @param request ReleaseCapacityReservationRequest * @return ReleaseCapacityReservationResponse */ async releaseCapacityReservation(request: ReleaseCapacityReservationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.releaseCapacityReservationWithOptions(request, runtime); } /** * ## Usage notes * Before you release a pay-as-you-go dedicated host, make sure that no ECS instances are deployed on the dedicated host. * * @param request ReleaseDedicatedHostRequest * @param runtime runtime options for this request RuntimeOptions * @return ReleaseDedicatedHostResponse */ async releaseDedicatedHostWithOptions(request: ReleaseDedicatedHostRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReleaseDedicatedHost", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReleaseDedicatedHostResponse({})); } /** * ## Usage notes * Before you release a pay-as-you-go dedicated host, make sure that no ECS instances are deployed on the dedicated host. * * @param request ReleaseDedicatedHostRequest * @return ReleaseDedicatedHostResponse */ async releaseDedicatedHost(request: ReleaseDedicatedHostRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.releaseDedicatedHostWithOptions(request, runtime); } /** * @deprecated * * @param request ReleaseEipAddressRequest * @param runtime runtime options for this request RuntimeOptions * @return ReleaseEipAddressResponse */ // Deprecated async releaseEipAddressWithOptions(request: ReleaseEipAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReleaseEipAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReleaseEipAddressResponse({})); } /** * @deprecated * * @param request ReleaseEipAddressRequest * @return ReleaseEipAddressResponse */ // Deprecated async releaseEipAddress(request: ReleaseEipAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.releaseEipAddressWithOptions(request, runtime); } async releasePublicIpAddressWithOptions(request: ReleasePublicIpAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.publicIpAddress)) { query["PublicIpAddress"] = request.publicIpAddress; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReleasePublicIpAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReleasePublicIpAddressResponse({})); } async releasePublicIpAddress(request: ReleasePublicIpAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.releasePublicIpAddressWithOptions(request, runtime); } /** * @deprecated * * @param request RemoveBandwidthPackageIpsRequest * @param runtime runtime options for this request RuntimeOptions * @return RemoveBandwidthPackageIpsResponse */ // Deprecated async removeBandwidthPackageIpsWithOptions(request: RemoveBandwidthPackageIpsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.bandwidthPackageId)) { query["BandwidthPackageId"] = request.bandwidthPackageId; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.removedIpAddresses)) { query["RemovedIpAddresses"] = request.removedIpAddresses; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RemoveBandwidthPackageIps", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RemoveBandwidthPackageIpsResponse({})); } /** * @deprecated * * @param request RemoveBandwidthPackageIpsRequest * @return RemoveBandwidthPackageIpsResponse */ // Deprecated async removeBandwidthPackageIps(request: RemoveBandwidthPackageIpsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.removeBandwidthPackageIpsWithOptions(request, runtime); } async removeTagsWithOptions(request: RemoveTagsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RemoveTags", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RemoveTagsResponse({})); } async removeTags(request: RemoveTagsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.removeTagsWithOptions(request, runtime); } /** * Valid vouchers can be applied when you renew the subscription plan dedicated hosts. In order to use vouchers, make sure that your account supports the credit card payment method. * * @param request RenewDedicatedHostsRequest * @param runtime runtime options for this request RuntimeOptions * @return RenewDedicatedHostsResponse */ async renewDedicatedHostsWithOptions(request: RenewDedicatedHostsRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.dedicatedHostIds)) { query["DedicatedHostIds"] = request.dedicatedHostIds; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RenewDedicatedHosts", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RenewDedicatedHostsResponse({})); } /** * Valid vouchers can be applied when you renew the subscription plan dedicated hosts. In order to use vouchers, make sure that your account supports the credit card payment method. * * @param request RenewDedicatedHostsRequest * @return RenewDedicatedHostsResponse */ async renewDedicatedHosts(request: RenewDedicatedHostsRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.renewDedicatedHostsWithOptions(request, runtime); } /** * * Before you call this operation, make sure that you are familiar with the billing methods and pricing of ECS. For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * * You can call this operation to renew a subscription instance for a specific period of time or to a synchronized expiration date. * * You cannot call this operation to renew a subscription instance for a specific period of time and to a synchronized expiration date at the same time. The parameter pair (`Period` and `PeriodUnit`) that is related to the renewal period and `ExpectedRenewDay` are mutually exclusive. * * Your account must have sufficient credits. * * @param request RenewInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return RenewInstanceResponse */ async renewInstanceWithOptions(request: RenewInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.expectedRenewDay)) { query["ExpectedRenewDay"] = request.expectedRenewDay; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RenewInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RenewInstanceResponse({})); } /** * * Before you call this operation, make sure that you are familiar with the billing methods and pricing of ECS. For more information, see the [Elastic Compute Service](https://www.alibabacloud.com/product/ecs#pricing) product page. * * You can call this operation to renew a subscription instance for a specific period of time or to a synchronized expiration date. * * You cannot call this operation to renew a subscription instance for a specific period of time and to a synchronized expiration date at the same time. The parameter pair (`Period` and `PeriodUnit`) that is related to the renewal period and `ExpectedRenewDay` are mutually exclusive. * * Your account must have sufficient credits. * * @param request RenewInstanceRequest * @return RenewInstanceResponse */ async renewInstance(request: RenewInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.renewInstanceWithOptions(request, runtime); } /** * The IDs of the reserved instances. * * @param request RenewReservedInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return RenewReservedInstancesResponse */ async renewReservedInstancesWithOptions(request: RenewReservedInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewPeriod)) { query["AutoRenewPeriod"] = request.autoRenewPeriod; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.reservedInstanceId)) { query["ReservedInstanceId"] = request.reservedInstanceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RenewReservedInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RenewReservedInstancesResponse({})); } /** * The IDs of the reserved instances. * * @param request RenewReservedInstancesRequest * @return RenewReservedInstancesResponse */ async renewReservedInstances(request: RenewReservedInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.renewReservedInstancesWithOptions(request, runtime); } /** * ## Description * When you call this operation, take note of the following items: * * You must specify the ImageId parameter or the DiskId parameter. You cannot specify both of these parameters at the same time. Otherwise, the call fails and an error message is returned. * > You can use the `DiskId` parameter to replace the operating system of an instance. This feature is available to select users. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/console.htm). * * The category of the system disk cannot be changed. * * The billing method of the system disk cannot be changed. * * The instance must be in the `Stopped` state. * ** * **Note**This item is applicable only to instances in virtual private clouds (VPCs). If the instance is a pay-as-you-go instance and economical mode is enabled by default for the instance, you must switch from stop mode to standard mode when you stop the instance. This prevents instance restart failures caused by insufficient resources after the system disk is replaced. For more information, see [StopInstance](~~25501~~). * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}`, the instance is locked for security reasons and no operations are allowed on the instance.`` For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * You cannot have outstanding payment orders associated with the instance. * * You can configure the `SystemDisk.Size` parameter to specify the capacity of the new system disk. * After you call this operation, you can use one of the following methods to check whether the system disk is replaced: * * Call the [DescribeDisks](~~25514~~) operation to query the state of the new system disk. If the new system disk is in the In_use state, the system disk is replaced. * * Call the [DescribeInstances](~~25506~~) operation to query the state of the instance whose system disk is replaced. If `OperationLocks` in the response is empty, the system disk is replaced. * * @param request ReplaceSystemDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return ReplaceSystemDiskResponse */ async replaceSystemDiskWithOptions(request: ReplaceSystemDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.architecture)) { query["Architecture"] = request.architecture; } if (!Util.isUnset(request.arn)) { query["Arn"] = request.arn; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.encryptAlgorithm)) { query["EncryptAlgorithm"] = request.encryptAlgorithm; } if (!Util.isUnset(request.encrypted)) { query["Encrypted"] = request.encrypted; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.KMSKeyId)) { query["KMSKeyId"] = request.KMSKeyId; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.passwordInherit)) { query["PasswordInherit"] = request.passwordInherit; } if (!Util.isUnset(request.platform)) { query["Platform"] = request.platform; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } if (!Util.isUnset(request.useAdditionalService)) { query["UseAdditionalService"] = request.useAdditionalService; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReplaceSystemDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReplaceSystemDiskResponse({})); } /** * ## Description * When you call this operation, take note of the following items: * * You must specify the ImageId parameter or the DiskId parameter. You cannot specify both of these parameters at the same time. Otherwise, the call fails and an error message is returned. * > You can use the `DiskId` parameter to replace the operating system of an instance. This feature is available to select users. To use this feature, [submit a ticket](https://workorder-intl.console.aliyun.com/console.htm). * * The category of the system disk cannot be changed. * * The billing method of the system disk cannot be changed. * * The instance must be in the `Stopped` state. * ** * **Note**This item is applicable only to instances in virtual private clouds (VPCs). If the instance is a pay-as-you-go instance and economical mode is enabled by default for the instance, you must switch from stop mode to standard mode when you stop the instance. This prevents instance restart failures caused by insufficient resources after the system disk is replaced. For more information, see [StopInstance](~~25501~~). * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}`, the instance is locked for security reasons and no operations are allowed on the instance.`` For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * You cannot have outstanding payment orders associated with the instance. * * You can configure the `SystemDisk.Size` parameter to specify the capacity of the new system disk. * After you call this operation, you can use one of the following methods to check whether the system disk is replaced: * * Call the [DescribeDisks](~~25514~~) operation to query the state of the new system disk. If the new system disk is in the In_use state, the system disk is replaced. * * Call the [DescribeInstances](~~25506~~) operation to query the state of the instance whose system disk is replaced. If `OperationLocks` in the response is empty, the system disk is replaced. * * @param request ReplaceSystemDiskRequest * @return ReplaceSystemDiskResponse */ async replaceSystemDisk(request: ReplaceSystemDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.replaceSystemDiskWithOptions(request, runtime); } async reportInstancesStatusWithOptions(request: ReportInstancesStatusRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.device)) { query["Device"] = request.device; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.endTime)) { query["EndTime"] = request.endTime; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.issueCategory)) { query["IssueCategory"] = request.issueCategory; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.reason)) { query["Reason"] = request.reason; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.startTime)) { query["StartTime"] = request.startTime; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ReportInstancesStatus", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ReportInstancesStatusResponse({})); } async reportInstancesStatus(request: ReportInstancesStatusRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.reportInstancesStatusWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The disk must be in the In Use (In_Use) or Unattached (Available) state. * * The Elastic Compute Service (ECS) instance to which the disk is attached must be in the Stopped (Stopped) state. You can call the [StopInstances](~~155372~~) operation to stop an instance. * * The snapshot specified by the SnapshotId parameter must be created from the disk specified by the DiskId parameter. * * When you call the [DescribeInstances](~~25506~~) operation to query instance information and the response contains `{"OperationLocks": {"LockReason" : "security"}}`, then this indicates that the instance is locked for security reasons and no operations can be performed on the instance. * * @param request ResetDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return ResetDiskResponse */ async resetDiskWithOptions(request: ResetDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.snapshotId)) { query["SnapshotId"] = request.snapshotId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ResetDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ResetDiskResponse({})); } /** * When you call this operation, take note of the following items: * * The disk must be in the In Use (In_Use) or Unattached (Available) state. * * The Elastic Compute Service (ECS) instance to which the disk is attached must be in the Stopped (Stopped) state. You can call the [StopInstances](~~155372~~) operation to stop an instance. * * The snapshot specified by the SnapshotId parameter must be created from the disk specified by the DiskId parameter. * * When you call the [DescribeInstances](~~25506~~) operation to query instance information and the response contains `{"OperationLocks": {"LockReason" : "security"}}`, then this indicates that the instance is locked for security reasons and no operations can be performed on the instance. * * @param request ResetDiskRequest * @return ResetDiskResponse */ async resetDisk(request: ResetDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.resetDiskWithOptions(request, runtime); } /** * This operation will be removed in the future. We recommend that you call the [ResetDisk](~~25520~~) operation to roll back a disk. * * @param request ResetDisksRequest * @param runtime runtime options for this request RuntimeOptions * @return ResetDisksResponse */ async resetDisksWithOptions(request: ResetDisksRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.disk)) { query["Disk"] = request.disk; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ResetDisks", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ResetDisksResponse({})); } /** * This operation will be removed in the future. We recommend that you call the [ResetDisk](~~25520~~) operation to roll back a disk. * * @param request ResetDisksRequest * @return ResetDisksResponse */ async resetDisks(request: ResetDisksRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.resetDisksWithOptions(request, runtime); } /** * The ID of the disk. You can call the [DescribeDisks](~~25514~~) operation to query the ID of a disk. * * @param request ResizeDiskRequest * @param runtime runtime options for this request RuntimeOptions * @return ResizeDiskResponse */ async resizeDiskWithOptions(request: ResizeDiskRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.diskId)) { query["DiskId"] = request.diskId; } if (!Util.isUnset(request.newSize)) { query["NewSize"] = request.newSize; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "ResizeDisk", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new ResizeDiskResponse({})); } /** * The ID of the disk. You can call the [DescribeDisks](~~25514~~) operation to query the ID of a disk. * * @param request ResizeDiskRequest * @return ResizeDiskResponse */ async resizeDisk(request: ResizeDiskRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.resizeDiskWithOptions(request, runtime); } /** * In the security group-related API documents, inbound traffic is sent by the source and received by the destination. * When you call this operation, you can use one of the following groups of parameters to specify the security group rules that you want to delete: * * The parameter used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. - If the ID of a specified security group rule does not exist, an error is reported. - You cannot specify the parameters that are no longer available and the Permissions.N-prefixed counterparts of the parameters at the same time. - Sample request: * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &SecurityGroupRuleId.1=sgr-bpdfmk**** * &SecurityGroupRuleId.2=sgr-bpdfmg**** * & * * Parameters prefixed with Permissions.N. * * If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rule is deleted. * * You cannot specify the SecurityGroupRuleId parameter or parameters that are not prefixed with Permissions.N. * * You can delete a specific inbound security group rule by specifying one of the following groups of parameters. However, you cannot delete the security group rule if you specify only one of the parameters in a group. * * Parameters used to delete an inbound security group rule that controls access from a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourceCidrIp. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourceCidrIp=10.0.0.0/8 \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to delete an inbound security group rule that controls access from a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourceGroupId. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourceGroupId=sg-bp67acfmxa123b\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to delete an inbound security group rule that controls access from a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourcePrefixListId. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourcePrefixListId=pl-x1j1k5ykzqlixdcy\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * @param request RevokeSecurityGroupRequest * @param runtime runtime options for this request RuntimeOptions * @return RevokeSecurityGroupResponse */ async revokeSecurityGroupWithOptions(request: RevokeSecurityGroupRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.permissions)) { query["Permissions"] = request.permissions; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupRuleId)) { query["SecurityGroupRuleId"] = request.securityGroupRuleId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourceGroupId)) { query["SourceGroupId"] = request.sourceGroupId; } if (!Util.isUnset(request.sourceGroupOwnerAccount)) { query["SourceGroupOwnerAccount"] = request.sourceGroupOwnerAccount; } if (!Util.isUnset(request.sourceGroupOwnerId)) { query["SourceGroupOwnerId"] = request.sourceGroupOwnerId; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } if (!Util.isUnset(request.sourcePrefixListId)) { query["SourcePrefixListId"] = request.sourcePrefixListId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RevokeSecurityGroup", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RevokeSecurityGroupResponse({})); } /** * In the security group-related API documents, inbound traffic is sent by the source and received by the destination. * When you call this operation, you can use one of the following groups of parameters to specify the security group rules that you want to delete: * * The parameter used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. - If the ID of a specified security group rule does not exist, an error is reported. - You cannot specify the parameters that are no longer available and the Permissions.N-prefixed counterparts of the parameters at the same time. - Sample request: * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup * &SecurityGroupId=sg-bp67acfmxazb4p**** * &SecurityGroupRuleId.1=sgr-bpdfmk**** * &SecurityGroupRuleId.2=sgr-bpdfmg**** * & * * Parameters prefixed with Permissions.N. * * If no security group rule matches the specified parameters, the call to RevokeSecurityGroup is successful but no security group rule is deleted. * * You cannot specify the SecurityGroupRuleId parameter or parameters that are not prefixed with Permissions.N. * * You can delete a specific inbound security group rule by specifying one of the following groups of parameters. However, you cannot delete the security group rule if you specify only one of the parameters in a group. * * Parameters used to delete an inbound security group rule that controls access from a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourceCidrIp. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourceCidrIp=10.0.0.0/8 \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to delete an inbound security group rule that controls access from a security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourceGroupId. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourceGroupId=sg-bp67acfmxa123b\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to delete an inbound security group rule that controls access from a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp (optional), and SourcePrefixListId. * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroup \\&SecurityGroupId=sg-bp67acfmxazb4p\\*\\*\\*\\* \\&Permissions.1.SourcePrefixListId=pl-x1j1k5ykzqlixdcy\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=80/80 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * @param request RevokeSecurityGroupRequest * @return RevokeSecurityGroupResponse */ async revokeSecurityGroup(request: RevokeSecurityGroupRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.revokeSecurityGroupWithOptions(request, runtime); } /** * When you call this operation, you can use one of the following groups of parameters to specify the security group rules that you want to delete: * * Parameters used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. - If the security group rule ID that you specify does not exist, an error is reported. - You cannot specify the parameters that are no longer available and the Permissions.N-prefixed counterparts of the parameters at the same time. - Sample request: * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4p**** * &SecurityGroupRuleId.1=sgr-bpdfmk**** * &SecurityGroupRuleId.2=sgr-bpdfmg**** * & * * Parameters that are prefixed with Permissions.N. * * If no security group rule matches the specified parameters, the call to RevokeSecurityGroupEgress is successful but no security group rules are deleted. * * The SecurityGroupRuleId.N parameter and parameters that are not prefixed with Permissions.N cannot be specified. * * You can determine a security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter. * * Parameters used to determine an outbound security group rule that controls access to a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp, and SourceCidrIp (optional). Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.DestCidrIp=10.0.0.0/8 \\&Permissions.1.PortRange=-22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to determine an outbound security group rule that controls access to another security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceCidrIp (optional), and DestGroupId. Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.DestGroupId=sg-bp67acfmxa123b\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to determine an outbound security group rule that controls access to a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceCidrIp (optional), and DestPrefixListId. Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.DestPrefixListId=pl-x1j1k5ykzqlixdcy\\*\\*\\*\\* \\&Permissions.1.PortRange=-22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * @param request RevokeSecurityGroupEgressRequest * @param runtime runtime options for this request RuntimeOptions * @return RevokeSecurityGroupEgressResponse */ async revokeSecurityGroupEgressWithOptions(request: RevokeSecurityGroupEgressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.destCidrIp)) { query["DestCidrIp"] = request.destCidrIp; } if (!Util.isUnset(request.destGroupId)) { query["DestGroupId"] = request.destGroupId; } if (!Util.isUnset(request.destGroupOwnerAccount)) { query["DestGroupOwnerAccount"] = request.destGroupOwnerAccount; } if (!Util.isUnset(request.destGroupOwnerId)) { query["DestGroupOwnerId"] = request.destGroupOwnerId; } if (!Util.isUnset(request.destPrefixListId)) { query["DestPrefixListId"] = request.destPrefixListId; } if (!Util.isUnset(request.ipProtocol)) { query["IpProtocol"] = request.ipProtocol; } if (!Util.isUnset(request.ipv6DestCidrIp)) { query["Ipv6DestCidrIp"] = request.ipv6DestCidrIp; } if (!Util.isUnset(request.ipv6SourceCidrIp)) { query["Ipv6SourceCidrIp"] = request.ipv6SourceCidrIp; } if (!Util.isUnset(request.nicType)) { query["NicType"] = request.nicType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.permissions)) { query["Permissions"] = request.permissions; } if (!Util.isUnset(request.policy)) { query["Policy"] = request.policy; } if (!Util.isUnset(request.portRange)) { query["PortRange"] = request.portRange; } if (!Util.isUnset(request.priority)) { query["Priority"] = request.priority; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupRuleId)) { query["SecurityGroupRuleId"] = request.securityGroupRuleId; } if (!Util.isUnset(request.sourceCidrIp)) { query["SourceCidrIp"] = request.sourceCidrIp; } if (!Util.isUnset(request.sourcePortRange)) { query["SourcePortRange"] = request.sourcePortRange; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RevokeSecurityGroupEgress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RevokeSecurityGroupEgressResponse({})); } /** * When you call this operation, you can use one of the following groups of parameters to specify the security group rules that you want to delete: * * Parameters used to specify the IDs of security group rules. We recommend that you specify the IDs of security group rules to delete the rules. - If the security group rule ID that you specify does not exist, an error is reported. - You cannot specify the parameters that are no longer available and the Permissions.N-prefixed counterparts of the parameters at the same time. - Sample request: * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress * &SecurityGroupId=sg-bp67acfmxazb4p**** * &SecurityGroupRuleId.1=sgr-bpdfmk**** * &SecurityGroupRuleId.2=sgr-bpdfmg**** * & * * Parameters that are prefixed with Permissions.N. * * If no security group rule matches the specified parameters, the call to RevokeSecurityGroupEgress is successful but no security group rules are deleted. * * The SecurityGroupRuleId.N parameter and parameters that are not prefixed with Permissions.N cannot be specified. * * You can determine a security group rule by specifying one of the following groups of parameters. You cannot determine a security group rule by specifying only one parameter. * * Parameters used to determine an outbound security group rule that controls access to a specified CIDR block: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, DestCidrIp, and SourceCidrIp (optional). Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.DestCidrIp=10.0.0.0/8 \\&Permissions.1.PortRange=-22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to determine an outbound security group rule that controls access to another security group: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceCidrIp (optional), and DestGroupId. Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.DestGroupId=sg-bp67acfmxa123b\\*\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.PortRange=22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * Parameters used to determine an outbound security group rule that controls access to a prefix list: IpProtocol, PortRange, SourcePortRange (optional), NicType, Policy, SourceCidrIp (optional), and DestPrefixListId. Sample request: * ``` * ``` * http(s)://ecs.aliyuncs.com/?Action=RevokeSecurityGroupEgress \\&SecurityGroupId=sg-bp67acfmxazb4ph\\*\\*\\* \\&Permissions.1.IpProtocol=TCP \\&Permissions.1.DestPrefixListId=pl-x1j1k5ykzqlixdcy\\*\\*\\*\\* \\&Permissions.1.PortRange=-22/22 \\&Permissions.1.NicType=intranet \\&Permissions.1.Policy=accept &\\ \\`\\`\\` * * @param request RevokeSecurityGroupEgressRequest * @return RevokeSecurityGroupEgressResponse */ async revokeSecurityGroupEgress(request: RevokeSecurityGroupEgressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.revokeSecurityGroupEgressWithOptions(request, runtime); } /** * ## [](#)Usage notes * Unlike the [CreateCommand](~~64844~~) and [InvokeCommand](~~64841~~) operations, RunCommand can be used to create and run a command in a single request. * Take note of the following items: * * The instances on which you want to run a command must be in the Running (`Running`) state. You can call the [DescribeInstances](~~25506~~) operation to query the status of instances. * * [Cloud Assistant Agent](~~64921~~) must be installed on the instances. * * Before you run a PowerShell command on a Windows instance, make sure that the PowerShell module is installed on the instance. * * When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instance. Make sure that the time or time zone of the instances meets your business requirements. For information about time zones, see [Configure the NTP service for a CentOS 6 instance](~~92803~~) or [Configure the NTP service for a Windows instance](~~51890~~). * * You can set `Timeout` to specify the timeout period for executions of the command on ECS instances. If an execution times out, Cloud Assistant Agent forcefully terminates the command process. * * When the one-time execution of the command times out, the execution state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * * For a scheduled task, the timeout period takes effect on each execution of the command. When a command execution times out, the subsequent executions of the command are not affected. When a scheduled execution of the command times out, the execution state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following ones. A scheduled task can run a command at a specified interval, only once at a specified time, or at designated times based on a cron expression in a specified year or time zone. If the `ClientNeedUpgrade` error code is returned, you must update Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * - Linux: 2.2.3.282 * - Windows: 2.1.3.282 * * Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](~~87029~~). * * If you set the `EnableParameter` parameter to true, the custom parameter feature is enabled. When you configure the `CommandContent` parameter, you can define custom parameters in the `{{parameter}}` format. Then, when the command is run, the key-value pairs of the custom parameters are passed in. * * You can retain up to 500 to 10,000 Cloud Assistant commands in each region based on your usage. You can perform operations that are described in the [View and increase resource quotas](~~184115~~) topic or call the [DescribeAccountAttribute](~~73772~~) operation to query resource quotas. * * Before you run a command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](~~87346~~) operation to query the status of Cloud Assistant Agent on the instances and run the command when the value of CloudAssistantStatus in the response is true for the instances. * * @param tmpReq RunCommandRequest * @param runtime runtime options for this request RuntimeOptions * @return RunCommandResponse */ async runCommandWithOptions(tmpReq: RunCommandRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(tmpReq); let request = new RunCommandShrinkRequest({ }); OpenApiUtil.convert(tmpReq, request); if (!Util.isUnset(tmpReq.parameters)) { request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, "Parameters", "json"); } let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.commandContent)) { query["CommandContent"] = request.commandContent; } if (!Util.isUnset(request.containerId)) { query["ContainerId"] = request.containerId; } if (!Util.isUnset(request.containerName)) { query["ContainerName"] = request.containerName; } if (!Util.isUnset(request.contentEncoding)) { query["ContentEncoding"] = request.contentEncoding; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.enableParameter)) { query["EnableParameter"] = request.enableParameter; } if (!Util.isUnset(request.frequency)) { query["Frequency"] = request.frequency; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.keepCommand)) { query["KeepCommand"] = request.keepCommand; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.parametersShrink)) { query["Parameters"] = request.parametersShrink; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.repeatMode)) { query["RepeatMode"] = request.repeatMode; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceTag)) { query["ResourceTag"] = request.resourceTag; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.timed)) { query["Timed"] = request.timed; } if (!Util.isUnset(request.timeout)) { query["Timeout"] = request.timeout; } if (!Util.isUnset(request.type)) { query["Type"] = request.type; } if (!Util.isUnset(request.username)) { query["Username"] = request.username; } if (!Util.isUnset(request.windowsPasswordName)) { query["WindowsPasswordName"] = request.windowsPasswordName; } if (!Util.isUnset(request.workingDir)) { query["WorkingDir"] = request.workingDir; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RunCommand", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RunCommandResponse({})); } /** * ## [](#)Usage notes * Unlike the [CreateCommand](~~64844~~) and [InvokeCommand](~~64841~~) operations, RunCommand can be used to create and run a command in a single request. * Take note of the following items: * * The instances on which you want to run a command must be in the Running (`Running`) state. You can call the [DescribeInstances](~~25506~~) operation to query the status of instances. * * [Cloud Assistant Agent](~~64921~~) must be installed on the instances. * * Before you run a PowerShell command on a Windows instance, make sure that the PowerShell module is installed on the instance. * * When you use a cron expression to specify a schedule, you can specify a time zone based on your business requirements. If you do not specify a time zone, the schedule is determined by the system time of the instance. Make sure that the time or time zone of the instances meets your business requirements. For information about time zones, see [Configure the NTP service for a CentOS 6 instance](~~92803~~) or [Configure the NTP service for a Windows instance](~~51890~~). * * You can set `Timeout` to specify the timeout period for executions of the command on ECS instances. If an execution times out, Cloud Assistant Agent forcefully terminates the command process. * * When the one-time execution of the command times out, the execution state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * * For a scheduled task, the timeout period takes effect on each execution of the command. When a command execution times out, the subsequent executions of the command are not affected. When a scheduled execution of the command times out, the execution state ([InvokeRecordStatus](~~64845~~)) of the command becomes Failed. * To ensure that scheduled tasks can run as expected, make sure that the version of Cloud Assistant Agent is not earlier than the following ones. A scheduled task can run a command at a specified interval, only once at a specified time, or at designated times based on a cron expression in a specified year or time zone. If the `ClientNeedUpgrade` error code is returned, you must update Cloud Assistant Agent to the latest version. For more information, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * - Linux: 2.2.3.282 * - Windows: 2.1.3.282 * * Command executions may fail due to instance status exceptions, network exceptions, or exceptions on Cloud Assistant Agent. If a command execution fails, no execution information is generated. For more information, see [Check execution results and troubleshoot common issues](~~87029~~). * * If you set the `EnableParameter` parameter to true, the custom parameter feature is enabled. When you configure the `CommandContent` parameter, you can define custom parameters in the `{{parameter}}` format. Then, when the command is run, the key-value pairs of the custom parameters are passed in. * * You can retain up to 500 to 10,000 Cloud Assistant commands in each region based on your usage. You can perform operations that are described in the [View and increase resource quotas](~~184115~~) topic or call the [DescribeAccountAttribute](~~73772~~) operation to query resource quotas. * * Before you run a command on instances, especially new instances, we recommend that you call the [DescribeCloudAssistantStatus](~~87346~~) operation to query the status of Cloud Assistant Agent on the instances and run the command when the value of CloudAssistantStatus in the response is true for the instances. * * @param request RunCommandRequest * @return RunCommandResponse */ async runCommand(request: RunCommandRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.runCommandWithOptions(request, runtime); } /** * ## [](#)Usage notes * * **Preparations**: * * Cost estimation: Learn about the billing methods of ECS resources. For more information, see [Billing overview](~~25398~~). * * Instance type selection: Call the [DescribeInstanceTypes](~~25620~~) operation to query the performance data of instance types, or see [Best practices for selecting instance types](~~58291~~) to learn about how to select instance types. * * Query of available resources: Call the [DescribeAvailableResource](~~66186~~) operation to query resources available in a specific region or zone. * * Network planning: Make sure that you have security groups available for use. For more information, see [CreateSecurityGroup](~~25553~~). Before you create an instance of the Virtual Private Cloud (VPC) type, [create a VPC](~~65430~~) in the region where you want to create the instance. * * **Comparison with CreateInstance**: * RunInstances has the following advantages over CreateInstance: * * You can call the RunInstances operation to create up to 100 instances at a time, instead of repeatedly calling the CreateInstance operation. * * After an instance is created, the instance enters the `Starting` state and then transitions to the `Running` state. You do not need to call the [StartInstance](~~25500~~) operation to start the instance. * * When you create an instance, you can specify `InternetMaxBandwidthOut` to assign a public IP address to the instance, without the need to call the [AllocatePublicIpAddress](~~25544~~) operation. * * You can use `AutoReleaseTime` to set the time when to automatically release the instances, without the need to call the [ModifyInstanceAutoReleaseTime](~~47576~~) operation. * * You can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use a launch template. This way, you do not need to configure a large number of parameters every time you create instances. * * You can specify `UniqueSuffix` to batch configure sequential names or hostnames for multiple instances for easy management and retrieval. * * When you call the RunInstances operation to create instances, you can configure the enclave-based confidential computing mode and the trusted system mode for the instances. * * You can set `NetworkOptions.EnableJumboFrame` to true to enable the Jumbo Frames feature when you create instances. For more information, see [MTUs](~~200512~~). * * **Considerations**: * * You can create up to 100 instances at a time. * * You can use `AutoReleaseTime` to set the time when to automatically release the instances. * * After you create instances and obtain their IDs, you can call the [DescribeInstances](~~25506~~) operation to check the status of the instances. * * By default, instances automatically start after they are created. Instances are ready for use when they are in the Running (`Running`) state. * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the maximum bandwidth value, submit a ticket. The throttling policy imposes the following constraints: In a single region, the total maximum bandwidth value of all instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s and the total maximum bandwidth value of all instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * Different from the [CreateInstance](~~25499~~) operation, the `RunInstances` operation allows the system to assign public IP addresses to new instances if you set `InternetMaxBandwidthOut` to a value greater than 0. * * When you call the RunInstances operation to create an instance, you can use one of the following methods to attach a primary elastic network interface (ENI) to the instance. Take note that you can use only one of the methods to configure the primary ENI in each call. Otherwise, the call fails and an error message is returned. * * Specify parameters such as `SecurityGroupId`, `VSwitchId`, `PrivateIpAddress`, `NetworkInterfaceQueueNumber`, and `Ipv6AddressCount` to configure the primary ENI. * * Specify parameters that start with `NetworkInterface.N.` to configure the primary and secondary ENIs. If `NetworkInterface.N.InstanceType` is set to `Primary`, the primary ENI is attached to the instance. If `NetworkInterface.N.InstanceType` is set to `Secondary` or left empty, the secondary ENI is attached to the instance. * * If a parameter is invalid or available resources are insufficient, an error is returned after you call the RunInstances operation. For more information, see the "Error codes" section of this topic. * * If the maximum number of instances of the specified instance type that can be created in the specified region or the maximum number of vCPUs for all instance types in a zone is exceeded, the `QuotaExceed.ElasticQuota` error is returned when you call the operation. You can go to the [ECS console](https://ecs.console.aliyun.com/?spm=a2c8b.12215451.favorites.decs.5e3a336aMGTtzy#/privileges/quota) or the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to request a quota increase. * * If the capacity of disks that belong to the specified disk category exceeds the quota limit for the specified zone, the `QuotaExceed.DiskCapacity` error is returned when you call the operation. You can go to the [Quota Center](https://quotas.console.aliyun.com/products/disk/quotas) to view and increase the disk capacity quota. * * **Best practices**: * * We recommend that you use auto provisioning groups in the following scenarios: Resources are insufficient to create more than 100 instances at a time, you want to quickly create instances regardless of resource configurations such as instance types or zones, or you want to create instances to consume a specific total number of vCPUs regardless of the number of instances. You can call the [CreateAutoProvisioningGroup](~~122738~~) operation to create an auto provisioning group to deploy an instance cluster across different zones, different billing methods, and instance families. For more information, see [Use auto provisioning group-related API operations to batch create ECS instances](~~200772~~). * * You can call the `RunInstances` operation to batch create instances. To better manage and search for the instances, we recommend that you add tags to the instances by specifying `Tag.N.Key` and `Tag.N.Value`. You can also append incremental suffixes (`UniqueSuffix`) to the hostname (`HostName`) and to the instance name (`InstanceName`). * * A launch template contains parameters required to create an instance so that you do not have to specify these parameters every time you create instances. You can call the [CreateLaunchTemplate](~~74686~~) operation to create a launch template. Then, in your request to call the `RunInstances` operation, you can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use the launch template. * ### [](#-1)Example 1: Create a subscription instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a one-month subscription instance of the ecs.g7.large instance type in the China (Hangzhou) region, and enable auto-renewal to renew the instance for one month on expiration. The instance uses a 40 GiB enhanced SSD (ESSD) as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PrePaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &Amount=1 * &Period=1 * &PeriodUnit=Month * &AutoRenew=true * &AutoRenewPeriod=1 * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * & * ### [](#-2)Example 2: Create a pay-as-you-go instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a pay-as-you-go instance of the ecs.g7.large instance type in the China (Hangzhou) region. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PostPaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * & * ### [](#-3)Example 3: Create a preemptible instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a preemptible instance of the ecs.g7.large instance type that has a 1-hour protection period in the China (Hangzhou) region. The market price of the instance type at the time of purchase is automatically used as the bidding price. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PostPaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * &SpotStrategy=SpotAsPriceGo * &SpotDuration=1 * & * ### [](#-4)Example 4: Create a subscription instance on a dedicated host * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a one-month subscription instance of the ecs.g7.large instance type on the dh-bp12w10wll9xcjq2\\*\\*\\*\\* dedicated host in the China (Hangzhou) region. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PrePaid * &Amount=1 * &Period=1 * &PeriodUnit=Month * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * &DedicatedHostId=dh-bp12w10wll9xcjq2**** * & * * @param request RunInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return RunInstancesResponse */ async runInstancesWithOptions(request: RunInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.affinity)) { query["Affinity"] = request.affinity; } if (!Util.isUnset(request.amount)) { query["Amount"] = request.amount; } if (!Util.isUnset(request.arn)) { query["Arn"] = request.arn; } if (!Util.isUnset(request.autoPay)) { query["AutoPay"] = request.autoPay; } if (!Util.isUnset(request.autoReleaseTime)) { query["AutoReleaseTime"] = request.autoReleaseTime; } if (!Util.isUnset(request.autoRenew)) { query["AutoRenew"] = request.autoRenew; } if (!Util.isUnset(request.autoRenewPeriod)) { query["AutoRenewPeriod"] = request.autoRenewPeriod; } if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.creditSpecification)) { query["CreditSpecification"] = request.creditSpecification; } if (!Util.isUnset(request.dataDisk)) { query["DataDisk"] = request.dataDisk; } if (!Util.isUnset(request.dedicatedHostId)) { query["DedicatedHostId"] = request.dedicatedHostId; } if (!Util.isUnset(request.deletionProtection)) { query["DeletionProtection"] = request.deletionProtection; } if (!Util.isUnset(request.deploymentSetGroupNo)) { query["DeploymentSetGroupNo"] = request.deploymentSetGroupNo; } if (!Util.isUnset(request.deploymentSetId)) { query["DeploymentSetId"] = request.deploymentSetId; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.hostName)) { query["HostName"] = request.hostName; } if (!Util.isUnset(request.hostNames)) { query["HostNames"] = request.hostNames; } if (!Util.isUnset(request.hpcClusterId)) { query["HpcClusterId"] = request.hpcClusterId; } if (!Util.isUnset(request.httpEndpoint)) { query["HttpEndpoint"] = request.httpEndpoint; } if (!Util.isUnset(request.httpPutResponseHopLimit)) { query["HttpPutResponseHopLimit"] = request.httpPutResponseHopLimit; } if (!Util.isUnset(request.httpTokens)) { query["HttpTokens"] = request.httpTokens; } if (!Util.isUnset(request.imageFamily)) { query["ImageFamily"] = request.imageFamily; } if (!Util.isUnset(request.imageId)) { query["ImageId"] = request.imageId; } if (!Util.isUnset(request.imageOptions)) { query["ImageOptions"] = request.imageOptions; } if (!Util.isUnset(request.instanceChargeType)) { query["InstanceChargeType"] = request.instanceChargeType; } if (!Util.isUnset(request.instanceName)) { query["InstanceName"] = request.instanceName; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.internetChargeType)) { query["InternetChargeType"] = request.internetChargeType; } if (!Util.isUnset(request.internetMaxBandwidthIn)) { query["InternetMaxBandwidthIn"] = request.internetMaxBandwidthIn; } if (!Util.isUnset(request.internetMaxBandwidthOut)) { query["InternetMaxBandwidthOut"] = request.internetMaxBandwidthOut; } if (!Util.isUnset(request.ioOptimized)) { query["IoOptimized"] = request.ioOptimized; } if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.ipv6AddressCount)) { query["Ipv6AddressCount"] = request.ipv6AddressCount; } if (!Util.isUnset(request.isp)) { query["Isp"] = request.isp; } if (!Util.isUnset(request.keyPairName)) { query["KeyPairName"] = request.keyPairName; } if (!Util.isUnset(request.launchTemplateId)) { query["LaunchTemplateId"] = request.launchTemplateId; } if (!Util.isUnset(request.launchTemplateName)) { query["LaunchTemplateName"] = request.launchTemplateName; } if (!Util.isUnset(request.launchTemplateVersion)) { query["LaunchTemplateVersion"] = request.launchTemplateVersion; } if (!Util.isUnset(request.minAmount)) { query["MinAmount"] = request.minAmount; } if (!Util.isUnset(request.networkInterface)) { query["NetworkInterface"] = request.networkInterface; } if (!Util.isUnset(request.networkInterfaceQueueNumber)) { query["NetworkInterfaceQueueNumber"] = request.networkInterfaceQueueNumber; } if (!Util.isUnset(request.networkOptions)) { query["NetworkOptions"] = request.networkOptions; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.password)) { query["Password"] = request.password; } if (!Util.isUnset(request.passwordInherit)) { query["PasswordInherit"] = request.passwordInherit; } if (!Util.isUnset(request.period)) { query["Period"] = request.period; } if (!Util.isUnset(request.periodUnit)) { query["PeriodUnit"] = request.periodUnit; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.ramRoleName)) { query["RamRoleName"] = request.ramRoleName; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.securityEnhancementStrategy)) { query["SecurityEnhancementStrategy"] = request.securityEnhancementStrategy; } if (!Util.isUnset(request.securityGroupId)) { query["SecurityGroupId"] = request.securityGroupId; } if (!Util.isUnset(request.securityGroupIds)) { query["SecurityGroupIds"] = request.securityGroupIds; } if (!Util.isUnset(request.spotDuration)) { query["SpotDuration"] = request.spotDuration; } if (!Util.isUnset(request.spotInterruptionBehavior)) { query["SpotInterruptionBehavior"] = request.spotInterruptionBehavior; } if (!Util.isUnset(request.spotPriceLimit)) { query["SpotPriceLimit"] = request.spotPriceLimit; } if (!Util.isUnset(request.spotStrategy)) { query["SpotStrategy"] = request.spotStrategy; } if (!Util.isUnset(request.storageSetId)) { query["StorageSetId"] = request.storageSetId; } if (!Util.isUnset(request.storageSetPartitionNumber)) { query["StorageSetPartitionNumber"] = request.storageSetPartitionNumber; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.tenancy)) { query["Tenancy"] = request.tenancy; } if (!Util.isUnset(request.uniqueSuffix)) { query["UniqueSuffix"] = request.uniqueSuffix; } if (!Util.isUnset(request.userData)) { query["UserData"] = request.userData; } if (!Util.isUnset(request.vSwitchId)) { query["VSwitchId"] = request.vSwitchId; } if (!Util.isUnset(request.zoneId)) { query["ZoneId"] = request.zoneId; } if (!Util.isUnset(request.cpuOptions)) { query["CpuOptions"] = request.cpuOptions; } if (!Util.isUnset(request.hibernationOptions)) { query["HibernationOptions"] = request.hibernationOptions; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } if (!Util.isUnset(request.schedulerOptions)) { query["SchedulerOptions"] = request.schedulerOptions; } if (!Util.isUnset(request.securityOptions)) { query["SecurityOptions"] = request.securityOptions; } if (!Util.isUnset(request.systemDisk)) { query["SystemDisk"] = request.systemDisk; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "RunInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new RunInstancesResponse({})); } /** * ## [](#)Usage notes * * **Preparations**: * * Cost estimation: Learn about the billing methods of ECS resources. For more information, see [Billing overview](~~25398~~). * * Instance type selection: Call the [DescribeInstanceTypes](~~25620~~) operation to query the performance data of instance types, or see [Best practices for selecting instance types](~~58291~~) to learn about how to select instance types. * * Query of available resources: Call the [DescribeAvailableResource](~~66186~~) operation to query resources available in a specific region or zone. * * Network planning: Make sure that you have security groups available for use. For more information, see [CreateSecurityGroup](~~25553~~). Before you create an instance of the Virtual Private Cloud (VPC) type, [create a VPC](~~65430~~) in the region where you want to create the instance. * * **Comparison with CreateInstance**: * RunInstances has the following advantages over CreateInstance: * * You can call the RunInstances operation to create up to 100 instances at a time, instead of repeatedly calling the CreateInstance operation. * * After an instance is created, the instance enters the `Starting` state and then transitions to the `Running` state. You do not need to call the [StartInstance](~~25500~~) operation to start the instance. * * When you create an instance, you can specify `InternetMaxBandwidthOut` to assign a public IP address to the instance, without the need to call the [AllocatePublicIpAddress](~~25544~~) operation. * * You can use `AutoReleaseTime` to set the time when to automatically release the instances, without the need to call the [ModifyInstanceAutoReleaseTime](~~47576~~) operation. * * You can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use a launch template. This way, you do not need to configure a large number of parameters every time you create instances. * * You can specify `UniqueSuffix` to batch configure sequential names or hostnames for multiple instances for easy management and retrieval. * * When you call the RunInstances operation to create instances, you can configure the enclave-based confidential computing mode and the trusted system mode for the instances. * * You can set `NetworkOptions.EnableJumboFrame` to true to enable the Jumbo Frames feature when you create instances. For more information, see [MTUs](~~200512~~). * * **Considerations**: * * You can create up to 100 instances at a time. * * You can use `AutoReleaseTime` to set the time when to automatically release the instances. * * After you create instances and obtain their IDs, you can call the [DescribeInstances](~~25506~~) operation to check the status of the instances. * * By default, instances automatically start after they are created. Instances are ready for use when they are in the Running (`Running`) state. * * Starting November 27, 2020, the maximum bandwidth value that is available for you to create ECS instances or change ECS instance configurations is subject to the throttling policy of your account. To increase the maximum bandwidth value, submit a ticket. The throttling policy imposes the following constraints: In a single region, the total maximum bandwidth value of all instances that use the pay-by-traffic billing method for network usage cannot exceed 5 Gbit/s and the total maximum bandwidth value of all instances that use the pay-by-bandwidth billing method for network usage cannot exceed 50 Gbit/s. * * Different from the [CreateInstance](~~25499~~) operation, the `RunInstances` operation allows the system to assign public IP addresses to new instances if you set `InternetMaxBandwidthOut` to a value greater than 0. * * When you call the RunInstances operation to create an instance, you can use one of the following methods to attach a primary elastic network interface (ENI) to the instance. Take note that you can use only one of the methods to configure the primary ENI in each call. Otherwise, the call fails and an error message is returned. * * Specify parameters such as `SecurityGroupId`, `VSwitchId`, `PrivateIpAddress`, `NetworkInterfaceQueueNumber`, and `Ipv6AddressCount` to configure the primary ENI. * * Specify parameters that start with `NetworkInterface.N.` to configure the primary and secondary ENIs. If `NetworkInterface.N.InstanceType` is set to `Primary`, the primary ENI is attached to the instance. If `NetworkInterface.N.InstanceType` is set to `Secondary` or left empty, the secondary ENI is attached to the instance. * * If a parameter is invalid or available resources are insufficient, an error is returned after you call the RunInstances operation. For more information, see the "Error codes" section of this topic. * * If the maximum number of instances of the specified instance type that can be created in the specified region or the maximum number of vCPUs for all instance types in a zone is exceeded, the `QuotaExceed.ElasticQuota` error is returned when you call the operation. You can go to the [ECS console](https://ecs.console.aliyun.com/?spm=a2c8b.12215451.favorites.decs.5e3a336aMGTtzy#/privileges/quota) or the [Quota Center](https://quotas.console.aliyun.com/products/ecs/quotas) to request a quota increase. * * If the capacity of disks that belong to the specified disk category exceeds the quota limit for the specified zone, the `QuotaExceed.DiskCapacity` error is returned when you call the operation. You can go to the [Quota Center](https://quotas.console.aliyun.com/products/disk/quotas) to view and increase the disk capacity quota. * * **Best practices**: * * We recommend that you use auto provisioning groups in the following scenarios: Resources are insufficient to create more than 100 instances at a time, you want to quickly create instances regardless of resource configurations such as instance types or zones, or you want to create instances to consume a specific total number of vCPUs regardless of the number of instances. You can call the [CreateAutoProvisioningGroup](~~122738~~) operation to create an auto provisioning group to deploy an instance cluster across different zones, different billing methods, and instance families. For more information, see [Use auto provisioning group-related API operations to batch create ECS instances](~~200772~~). * * You can call the `RunInstances` operation to batch create instances. To better manage and search for the instances, we recommend that you add tags to the instances by specifying `Tag.N.Key` and `Tag.N.Value`. You can also append incremental suffixes (`UniqueSuffix`) to the hostname (`HostName`) and to the instance name (`InstanceName`). * * A launch template contains parameters required to create an instance so that you do not have to specify these parameters every time you create instances. You can call the [CreateLaunchTemplate](~~74686~~) operation to create a launch template. Then, in your request to call the `RunInstances` operation, you can specify `LaunchTemplateId` and `LaunchTemplateVersion` to use the launch template. * ### [](#-1)Example 1: Create a subscription instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a one-month subscription instance of the ecs.g7.large instance type in the China (Hangzhou) region, and enable auto-renewal to renew the instance for one month on expiration. The instance uses a 40 GiB enhanced SSD (ESSD) as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PrePaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &Amount=1 * &Period=1 * &PeriodUnit=Month * &AutoRenew=true * &AutoRenewPeriod=1 * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * & * ### [](#-2)Example 2: Create a pay-as-you-go instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a pay-as-you-go instance of the ecs.g7.large instance type in the China (Hangzhou) region. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PostPaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * & * ### [](#-3)Example 3: Create a preemptible instance * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a preemptible instance of the ecs.g7.large instance type that has a 1-hour protection period in the China (Hangzhou) region. The market price of the instance type at the time of purchase is automatically used as the bidding price. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PostPaid * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * &SpotStrategy=SpotAsPriceGo * &SpotDuration=1 * & * ### [](#-4)Example 4: Create a subscription instance on a dedicated host * Use the aliyun\\_3\\_x64\\_20G_alibase\\_20221102.vhd image to create a one-month subscription instance of the ecs.g7.large instance type on the dh-bp12w10wll9xcjq2\\*\\*\\*\\* dedicated host in the China (Hangzhou) region. The instance uses a 40 GiB ESSD as the system disk and a 100 GiB ESSD as a data disk and is automatically assigned private and public IP addresses. The outbound public bandwidth of the instance is 10 Mbit/s. The instance name is ECS-test and the logon password of the instance is ECS@test1234. * http(s)://ecs.aliyuncs.com/?Action=RunInstances * &RegionId=cn-hangzhou * &ImageId=aliyun_3_x64_20G_alibase_20221102.vhd * &InstanceType=ecs.g7.large * &SecurityGroupId=sg-bp150uqocpf9jj70**** * &VSwitchId=vsw-bp1qo7s91cbch5i4l**** * &InstanceChargeType=PrePaid * &Amount=1 * &Period=1 * &PeriodUnit=Month * &SystemDisk.Size=40 * &DataDisk.1.Size=100 * &DataDisk.1.Category=cloud_essd * &SystemDisk.Category=cloud_essd * &HostName=ECS-test * &Password=ECS@test1234 * &InternetMaxBandwidthOut=10 * &DedicatedHostId=dh-bp12w10wll9xcjq2**** * & * * @param request RunInstancesRequest * @return RunInstancesResponse */ async runInstances(request: RunInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.runInstancesWithOptions(request, runtime); } /** * ## Usage notes * * The instances to which to send a file must be in the Running (`Running`) state. * * [Cloud Assistant Agent must be installed on the instances.](~~64921~~) * * Only Cloud Assistant Agent versions that are later than the following ones support file sending. If the `ClientNeedUpgrade` error code is returned, update Cloud Assistant Agent to the latest version. * * For Linux instances, the version of Cloud Assistant Agent must be later than 1.0.2.569. * * For Windows instances, the version of Cloud Assistant Agent must be later than 1.0.0.149. * * The file that you want to send must not exceed 32 KB in size after it is encoded in Base64. * * The file may fail to be sent due to instance exceptions, network exceptions, or exceptions on Cloud Assistant Agent. Call the [DescribeSendFileResults](~~184117~~) operation or see [Check execution results and troubleshoot common issues](~~87029~~) for troubleshooting. * * @param request SendFileRequest * @param runtime runtime options for this request RuntimeOptions * @return SendFileResponse */ async sendFileWithOptions(request: SendFileRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.content)) { query["Content"] = request.content; } if (!Util.isUnset(request.contentType)) { query["ContentType"] = request.contentType; } if (!Util.isUnset(request.description)) { query["Description"] = request.description; } if (!Util.isUnset(request.fileGroup)) { query["FileGroup"] = request.fileGroup; } if (!Util.isUnset(request.fileMode)) { query["FileMode"] = request.fileMode; } if (!Util.isUnset(request.fileOwner)) { query["FileOwner"] = request.fileOwner; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.name)) { query["Name"] = request.name; } if (!Util.isUnset(request.overwrite)) { query["Overwrite"] = request.overwrite; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } if (!Util.isUnset(request.targetDir)) { query["TargetDir"] = request.targetDir; } if (!Util.isUnset(request.timeout)) { query["Timeout"] = request.timeout; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "SendFile", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new SendFileResponse({})); } /** * ## Usage notes * * The instances to which to send a file must be in the Running (`Running`) state. * * [Cloud Assistant Agent must be installed on the instances.](~~64921~~) * * Only Cloud Assistant Agent versions that are later than the following ones support file sending. If the `ClientNeedUpgrade` error code is returned, update Cloud Assistant Agent to the latest version. * * For Linux instances, the version of Cloud Assistant Agent must be later than 1.0.2.569. * * For Windows instances, the version of Cloud Assistant Agent must be later than 1.0.0.149. * * The file that you want to send must not exceed 32 KB in size after it is encoded in Base64. * * The file may fail to be sent due to instance exceptions, network exceptions, or exceptions on Cloud Assistant Agent. Call the [DescribeSendFileResults](~~184117~~) operation or see [Check execution results and troubleshoot common issues](~~87029~~) for troubleshooting. * * @param request SendFileRequest * @return SendFileResponse */ async sendFile(request: SendFileRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.sendFileWithOptions(request, runtime); } /** * @deprecated * * @param request StartElasticityAssuranceRequest * @param runtime runtime options for this request RuntimeOptions * @return StartElasticityAssuranceResponse */ // Deprecated async startElasticityAssuranceWithOptions(request: StartElasticityAssuranceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.privatePoolOptions)) { query["PrivatePoolOptions"] = request.privatePoolOptions; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StartElasticityAssurance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StartElasticityAssuranceResponse({})); } /** * @deprecated * * @param request StartElasticityAssuranceRequest * @return StartElasticityAssuranceResponse */ // Deprecated async startElasticityAssurance(request: StartElasticityAssuranceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.startElasticityAssuranceWithOptions(request, runtime); } /** * * After you create an image template, you can call the StartImagePipelineExecution operation to create a pipeline task. The system creates, copies, and shares images based on the parameters configured in the image template. * * You can execute only one pipeline task for each image template. * * @param request StartImagePipelineExecutionRequest * @param runtime runtime options for this request RuntimeOptions * @return StartImagePipelineExecutionResponse */ async startImagePipelineExecutionWithOptions(request: StartImagePipelineExecutionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.imagePipelineId)) { query["ImagePipelineId"] = request.imagePipelineId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.templateTag)) { query["TemplateTag"] = request.templateTag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StartImagePipelineExecution", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StartImagePipelineExecutionResponse({})); } /** * * After you create an image template, you can call the StartImagePipelineExecution operation to create a pipeline task. The system creates, copies, and shares images based on the parameters configured in the image template. * * You can execute only one pipeline task for each image template. * * @param request StartImagePipelineExecutionRequest * @return StartImagePipelineExecutionResponse */ async startImagePipelineExecution(request: StartImagePipelineExecutionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.startImagePipelineExecutionWithOptions(request, runtime); } /** * $.parameters[2].schema.example * * @param request StartInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return StartInstanceResponse */ async startInstanceWithOptions(request: StartInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.initLocalDisk)) { query["InitLocalDisk"] = request.initLocalDisk; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StartInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StartInstanceResponse({})); } /** * $.parameters[2].schema.example * * @param request StartInstanceRequest * @return StartInstanceResponse */ async startInstance(request: StartInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.startInstanceWithOptions(request, runtime); } /** * Specifies whether to perform a dry run. Valid values: * * true: performs only a dry run. The system checks the request for potential issues, including required parameters, request syntax, and instance status. If the request fails the dry run, an error message is returned. If the request passes the dry run, `DRYRUN.SUCCESS` is returned. * > If you set `BatchOptimization` to `SuccessFirst` and `DryRun` to true, only `DRYRUN.SUCCESS` is returned regardless of whether the request passes the dry run. * * false: performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed. * Default value: false. * * @param request StartInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return StartInstancesResponse */ async startInstancesWithOptions(request: StartInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.batchOptimization)) { query["BatchOptimization"] = request.batchOptimization; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StartInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StartInstancesResponse({})); } /** * Specifies whether to perform a dry run. Valid values: * * true: performs only a dry run. The system checks the request for potential issues, including required parameters, request syntax, and instance status. If the request fails the dry run, an error message is returned. If the request passes the dry run, `DRYRUN.SUCCESS` is returned. * > If you set `BatchOptimization` to `SuccessFirst` and `DryRun` to true, only `DRYRUN.SUCCESS` is returned regardless of whether the request passes the dry run. * * false: performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed. * Default value: false. * * @param request StartInstancesRequest * @return StartInstancesResponse */ async startInstances(request: StartInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.startInstancesWithOptions(request, runtime); } /** * ## [](#)Usage notes * When you use custom code to connect to an ECS instance that serves as a client, you can call this operation to obtain the WebSocket URL that is used to connect to the instance. Take note of the following items: * * The ECS instance must be in the Running state. * * Cloud Assistant Agent must be installed on the ECS instance. You can call the [DescribeCloudAssistantStatus](~~87346~~) operation to check whether Cloud Assistant Agent is installed on the ECS instance and query the version number of the installed Cloud Assistant Agent. * * If Cloud Assistant Agent is not installed on the ECS instance, call the [InstallCloudAssistant](~~85916~~) operation to install Cloud Assistant Agent. * * The Cloud Assistant Agent versions that are later than the following ones support the session management feature. If you need to upgrade the Cloud Assistant Agent version, follow the instructions in [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * * Linux operating system: 2.2.3.256 * * Windows operating system: 2.1.3.256 * * Each WebSocket URL returned by the StartTerminalSession operation remains valid for 10 minutes. * * Up to 1,000 sessions can be created and available in a region. Each ECS instance can have up to 20 sessions in the connected state. * * @param request StartTerminalSessionRequest * @param runtime runtime options for this request RuntimeOptions * @return StartTerminalSessionResponse */ async startTerminalSessionWithOptions(request: StartTerminalSessionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.commandLine)) { query["CommandLine"] = request.commandLine; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.portNumber)) { query["PortNumber"] = request.portNumber; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.targetServer)) { query["TargetServer"] = request.targetServer; } if (!Util.isUnset(request.username)) { query["Username"] = request.username; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StartTerminalSession", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StartTerminalSessionResponse({})); } /** * ## [](#)Usage notes * When you use custom code to connect to an ECS instance that serves as a client, you can call this operation to obtain the WebSocket URL that is used to connect to the instance. Take note of the following items: * * The ECS instance must be in the Running state. * * Cloud Assistant Agent must be installed on the ECS instance. You can call the [DescribeCloudAssistantStatus](~~87346~~) operation to check whether Cloud Assistant Agent is installed on the ECS instance and query the version number of the installed Cloud Assistant Agent. * * If Cloud Assistant Agent is not installed on the ECS instance, call the [InstallCloudAssistant](~~85916~~) operation to install Cloud Assistant Agent. * * The Cloud Assistant Agent versions that are later than the following ones support the session management feature. If you need to upgrade the Cloud Assistant Agent version, follow the instructions in [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~). * * Linux operating system: 2.2.3.256 * * Windows operating system: 2.1.3.256 * * Each WebSocket URL returned by the StartTerminalSession operation remains valid for 10 minutes. * * Up to 1,000 sessions can be created and available in a region. Each ECS instance can have up to 20 sessions in the connected state. * * @param request StartTerminalSessionRequest * @return StartTerminalSessionResponse */ async startTerminalSession(request: StartTerminalSessionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.startTerminalSessionWithOptions(request, runtime); } /** * * If you call the DescribeInstances operation to query the details of an instance and `OperationLocks` in the response contains `"LockReason": "security"`, the instance is locked for security reasons and cannot be stopped. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * If the economical mode is enabled, you can set `StoppedMode` to KeepCharging to switch to the standard mode. This allows an instance that is stopped in standard mode to retain its instance type resources and public IP address. However, you continue to be charged for the instance. * * @param request StopInstanceRequest * @param runtime runtime options for this request RuntimeOptions * @return StopInstanceResponse */ async stopInstanceWithOptions(request: StopInstanceRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.confirmStop)) { query["ConfirmStop"] = request.confirmStop; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.forceStop)) { query["ForceStop"] = request.forceStop; } if (!Util.isUnset(request.hibernate)) { query["Hibernate"] = request.hibernate; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.stoppedMode)) { query["StoppedMode"] = request.stoppedMode; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StopInstance", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StopInstanceResponse({})); } /** * * If you call the DescribeInstances operation to query the details of an instance and `OperationLocks` in the response contains `"LockReason": "security"`, the instance is locked for security reasons and cannot be stopped. For more information, see [API behavior when an instance is locked for security reasons](~~25695~~). * * If the economical mode is enabled, you can set `StoppedMode` to KeepCharging to switch to the standard mode. This allows an instance that is stopped in standard mode to retain its instance type resources and public IP address. However, you continue to be charged for the instance. * * @param request StopInstanceRequest * @return StopInstanceResponse */ async stopInstance(request: StopInstanceRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.stopInstanceWithOptions(request, runtime); } /** * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` for an instance, the instance is locked for security reasons. No operations are allowed on the instance. * * After you enable the economical mode for a pay-as-you-go instance that resided in a virtual private cloud (VPC), you can set `StoppedMode` to KeepCharging. Then, the pay-as-you-go instance continues to be billed after it is stopped. The instance type resources and public IP address are reserved for the instance. * * Batch operations are supported. You can use `BatchOptimization` to specify the batch operation mode. * * @param request StopInstancesRequest * @param runtime runtime options for this request RuntimeOptions * @return StopInstancesResponse */ async stopInstancesWithOptions(request: StopInstancesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.batchOptimization)) { query["BatchOptimization"] = request.batchOptimization; } if (!Util.isUnset(request.dryRun)) { query["DryRun"] = request.dryRun; } if (!Util.isUnset(request.forceStop)) { query["ForceStop"] = request.forceStop; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.stoppedMode)) { query["StoppedMode"] = request.stoppedMode; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StopInstances", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StopInstancesResponse({})); } /** * * If the response contains `{"OperationLocks": {"LockReason" : "security"}}` for an instance, the instance is locked for security reasons. No operations are allowed on the instance. * * After you enable the economical mode for a pay-as-you-go instance that resided in a virtual private cloud (VPC), you can set `StoppedMode` to KeepCharging. Then, the pay-as-you-go instance continues to be billed after it is stopped. The instance type resources and public IP address are reserved for the instance. * * Batch operations are supported. You can use `BatchOptimization` to specify the batch operation mode. * * @param request StopInstancesRequest * @return StopInstancesResponse */ async stopInstances(request: StopInstancesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.stopInstancesWithOptions(request, runtime); } /** * The region ID. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list. * * @param request StopInvocationRequest * @param runtime runtime options for this request RuntimeOptions * @return StopInvocationResponse */ async stopInvocationWithOptions(request: StopInvocationRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.invokeId)) { query["InvokeId"] = request.invokeId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "StopInvocation", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new StopInvocationResponse({})); } /** * The region ID. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list. * * @param request StopInvocationRequest * @return StopInvocationResponse */ async stopInvocation(request: StopInvocationRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.stopInvocationWithOptions(request, runtime); } /** * Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number of tags is reached, an error message is returned. For more information, see the "Tag limits" section in [Limits](~~25412~~). * * @param request TagResourcesRequest * @param runtime runtime options for this request RuntimeOptions * @return TagResourcesResponse */ async tagResourcesWithOptions(request: TagResourcesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tag)) { query["Tag"] = request.tag; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "TagResources", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new TagResourcesResponse({})); } /** * Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number of tags is reached, an error message is returned. For more information, see the "Tag limits" section in [Limits](~~25412~~). * * @param request TagResourcesRequest * @return TagResourcesResponse */ async tagResources(request: TagResourcesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.tagResourcesWithOptions(request, runtime); } /** * @deprecated * * @param request TerminatePhysicalConnectionRequest * @param runtime runtime options for this request RuntimeOptions * @return TerminatePhysicalConnectionResponse */ // Deprecated async terminatePhysicalConnectionWithOptions(request: TerminatePhysicalConnectionRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.physicalConnectionId)) { query["PhysicalConnectionId"] = request.physicalConnectionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "TerminatePhysicalConnection", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new TerminatePhysicalConnectionResponse({})); } /** * @deprecated * * @param request TerminatePhysicalConnectionRequest * @return TerminatePhysicalConnectionResponse */ // Deprecated async terminatePhysicalConnection(request: TerminatePhysicalConnectionRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.terminatePhysicalConnectionWithOptions(request, runtime); } /** * @deprecated * * @param request TerminateVirtualBorderRouterRequest * @param runtime runtime options for this request RuntimeOptions * @return TerminateVirtualBorderRouterResponse */ // Deprecated async terminateVirtualBorderRouterWithOptions(request: TerminateVirtualBorderRouterRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.userCidr)) { query["UserCidr"] = request.userCidr; } if (!Util.isUnset(request.vbrId)) { query["VbrId"] = request.vbrId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "TerminateVirtualBorderRouter", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new TerminateVirtualBorderRouterResponse({})); } /** * @deprecated * * @param request TerminateVirtualBorderRouterRequest * @return TerminateVirtualBorderRouterResponse */ // Deprecated async terminateVirtualBorderRouter(request: TerminateVirtualBorderRouterRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.terminateVirtualBorderRouterWithOptions(request, runtime); } /** * When you call this operation, take note of the following items: * * The ENI must be in the **Available** (Available) or **InUse** (InUse) state. * * If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running** (Running) or **Stopped** (Stopped) state. * * @param request UnassignIpv6AddressesRequest * @param runtime runtime options for this request RuntimeOptions * @return UnassignIpv6AddressesResponse */ async unassignIpv6AddressesWithOptions(request: UnassignIpv6AddressesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ipv6Address)) { query["Ipv6Address"] = request.ipv6Address; } if (!Util.isUnset(request.ipv6Prefix)) { query["Ipv6Prefix"] = request.ipv6Prefix; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "UnassignIpv6Addresses", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new UnassignIpv6AddressesResponse({})); } /** * When you call this operation, take note of the following items: * * The ENI must be in the **Available** (Available) or **InUse** (InUse) state. * * If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running** (Running) or **Stopped** (Stopped) state. * * @param request UnassignIpv6AddressesRequest * @return UnassignIpv6AddressesResponse */ async unassignIpv6Addresses(request: UnassignIpv6AddressesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.unassignIpv6AddressesWithOptions(request, runtime); } /** * ## Usage notes * - The ENI from which to unassign secondary private IP addresses must be in the **Available** (Available) or **Bound** (InUse) state. * - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running** (Running) or **Stopped** (Stopped) state. * * @param request UnassignPrivateIpAddressesRequest * @param runtime runtime options for this request RuntimeOptions * @return UnassignPrivateIpAddressesResponse */ async unassignPrivateIpAddressesWithOptions(request: UnassignPrivateIpAddressesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.ipv4Prefix)) { query["Ipv4Prefix"] = request.ipv4Prefix; } if (!Util.isUnset(request.networkInterfaceId)) { query["NetworkInterfaceId"] = request.networkInterfaceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.privateIpAddress)) { query["PrivateIpAddress"] = request.privateIpAddress; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "UnassignPrivateIpAddresses", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new UnassignPrivateIpAddressesResponse({})); } /** * ## Usage notes * - The ENI from which to unassign secondary private IP addresses must be in the **Available** (Available) or **Bound** (InUse) state. * - If the ENI is a primary ENI, the Elastic Compute Service (ECS) instance to which the ENI is attached must be in the **Running** (Running) or **Stopped** (Stopped) state. * * @param request UnassignPrivateIpAddressesRequest * @return UnassignPrivateIpAddressesResponse */ async unassignPrivateIpAddresses(request: UnassignPrivateIpAddressesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.unassignPrivateIpAddressesWithOptions(request, runtime); } /** * @deprecated * * @param request UnassociateEipAddressRequest * @param runtime runtime options for this request RuntimeOptions * @return UnassociateEipAddressResponse */ // Deprecated async unassociateEipAddressWithOptions(request: UnassociateEipAddressRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.allocationId)) { query["AllocationId"] = request.allocationId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.instanceType)) { query["InstanceType"] = request.instanceType; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "UnassociateEipAddress", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new UnassociateEipAddressResponse({})); } /** * @deprecated * * @param request UnassociateEipAddressRequest * @return UnassociateEipAddressResponse */ // Deprecated async unassociateEipAddress(request: UnassociateEipAddressRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.unassociateEipAddressWithOptions(request, runtime); } /** * @deprecated * * @param request UnassociateHaVipRequest * @param runtime runtime options for this request RuntimeOptions * @return UnassociateHaVipResponse */ // Deprecated async unassociateHaVipWithOptions(request: UnassociateHaVipRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.clientToken)) { query["ClientToken"] = request.clientToken; } if (!Util.isUnset(request.force)) { query["Force"] = request.force; } if (!Util.isUnset(request.haVipId)) { query["HaVipId"] = request.haVipId; } if (!Util.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "UnassociateHaVip", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new UnassociateHaVipResponse({})); } /** * @deprecated * * @param request UnassociateHaVipRequest * @return UnassociateHaVipResponse */ // Deprecated async unassociateHaVip(request: UnassociateHaVipRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.unassociateHaVipWithOptions(request, runtime); } async untagResourcesWithOptions(request: UntagResourcesRequest, runtime: $Util.RuntimeOptions): Promise { Util.validateModel(request); let query = { }; if (!Util.isUnset(request.all)) { query["All"] = request.all; } if (!Util.isUnset(request.ownerAccount)) { query["OwnerAccount"] = request.ownerAccount; } if (!Util.isUnset(request.ownerId)) { query["OwnerId"] = request.ownerId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.regionId)) { query["RegionId"] = request.regionId; } if (!Util.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId; } if (!Util.isUnset(request.resourceOwnerAccount)) { query["ResourceOwnerAccount"] = request.resourceOwnerAccount; } if (!Util.isUnset(request.resourceOwnerId)) { query["ResourceOwnerId"] = request.resourceOwnerId; } if (!Util.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType; } if (!Util.isUnset(request.tagKey)) { query["TagKey"] = request.tagKey; } let req = new $OpenApi.OpenApiRequest({ query: OpenApiUtil.query(query), }); let params = new $OpenApi.Params({ action: "UntagResources", version: "2014-05-26", protocol: "HTTPS", pathname: "/", method: "POST", authType: "AK", style: "RPC", reqBodyType: "formData", bodyType: "json", }); return $tea.cast(await this.callApi(params, req, runtime), new UntagResourcesResponse({})); } async untagResources(request: UntagResourcesRequest): Promise { let runtime = new $Util.RuntimeOptions({ }); return await this.untagResourcesWithOptions(request, runtime); } }