foasconsole-20211028/Sources/AlibabacloudFoasconsole20211028/Client.swift (1,137 lines of code) (raw):

import Foundation import Tea import TeaUtils import AlibabacloudOpenApi import AlibabaCloudOpenApiUtil import AlibabacloudEndpointUtil open class Client : AlibabacloudOpenApi.Client { public override init(_ config: AlibabacloudOpenApi.Config) throws { try super.init(config) self._endpointRule = "central" try checkConfig(config as! AlibabacloudOpenApi.Config) self._endpoint = try getEndpoint("foasconsole", self._regionId ?? "", self._endpointRule ?? "", self._network ?? "", self._suffix ?? "", self._endpointMap ?? [:], self._endpoint ?? "") } public func getEndpoint(_ productId: String, _ regionId: String, _ endpointRule: String, _ network: String, _ suffix: String, _ endpointMap: [String: String], _ endpoint: String) throws -> String { if (!TeaUtils.Client.empty(endpoint)) { return endpoint as! String } if (!TeaUtils.Client.isUnset(endpointMap) && !TeaUtils.Client.empty(endpointMap[regionId as! String])) { return endpointMap[regionId as! String] ?? "" } return try AlibabacloudEndpointUtil.Client.getEndpointRules(productId, regionId, endpointRule, network, suffix) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertHybridInstanceWithOptions(_ tmpReq: ConvertHybridInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ConvertHybridInstanceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ConvertHybridInstanceShrinkRequest = ConvertHybridInstanceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { query["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { query["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { query["ResourceSpec"] = request.resourceSpecShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ConvertHybridInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ConvertHybridInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertHybridInstance(_ request: ConvertHybridInstanceRequest) async throws -> ConvertHybridInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await convertHybridInstanceWithOptions(request as! ConvertHybridInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertInstanceWithOptions(_ tmpReq: ConvertInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ConvertInstanceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ConvertInstanceShrinkRequest = ConvertInstanceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.namespaceResourceSpecs)) { request.namespaceResourceSpecsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.namespaceResourceSpecs, "NamespaceResourceSpecs", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.isAutoRenew)) { body["IsAutoRenew"] = request.isAutoRenew!; } if (!TeaUtils.Client.isUnset(request.namespaceResourceSpecsShrink)) { body["NamespaceResourceSpecs"] = request.namespaceResourceSpecsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ConvertInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ConvertInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertInstance(_ request: ConvertInstanceRequest) async throws -> ConvertInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await convertInstanceWithOptions(request as! ConvertInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertPrepayInstanceWithOptions(_ request: ConvertPrepayInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ConvertPrepayInstanceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ConvertPrepayInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ConvertPrepayInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func convertPrepayInstance(_ request: ConvertPrepayInstanceRequest) async throws -> ConvertPrepayInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await convertPrepayInstanceWithOptions(request as! ConvertPrepayInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func createInstanceWithOptions(_ tmpReq: CreateInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateInstanceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: CreateInstanceShrinkRequest = CreateInstanceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.haResourceSpec)) { request.haResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haResourceSpec, "HaResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.haVSwitchIds)) { request.haVSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haVSwitchIds, "HaVSwitchIds", "json") } if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.storage)) { request.storageShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.storage, "Storage", "json") } if (!TeaUtils.Client.isUnset(tmpReq.tag)) { request.tagShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.tag, "Tag", "json") } if (!TeaUtils.Client.isUnset(tmpReq.vSwitchIds)) { request.vSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.vSwitchIds, "VSwitchIds", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.architectureType)) { body["ArchitectureType"] = request.architectureType ?? ""; } if (!TeaUtils.Client.isUnset(request.autoRenew)) { body["AutoRenew"] = request.autoRenew!; } if (!TeaUtils.Client.isUnset(request.chargeType)) { body["ChargeType"] = request.chargeType ?? ""; } if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.extra)) { body["Extra"] = request.extra ?? ""; } if (!TeaUtils.Client.isUnset(request.ha)) { body["Ha"] = request.ha!; } if (!TeaUtils.Client.isUnset(request.haResourceSpecShrink)) { body["HaResourceSpec"] = request.haResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.haVSwitchIdsShrink)) { body["HaVSwitchIds"] = request.haVSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceName)) { body["InstanceName"] = request.instanceName ?? ""; } if (!TeaUtils.Client.isUnset(request.monitorType)) { body["MonitorType"] = request.monitorType ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.promotionCode)) { body["PromotionCode"] = request.promotionCode ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceGroupId)) { body["ResourceGroupId"] = request.resourceGroupId ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.storageShrink)) { body["Storage"] = request.storageShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.tagShrink)) { body["Tag"] = request.tagShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.usePromotionCode)) { body["UsePromotionCode"] = request.usePromotionCode!; } if (!TeaUtils.Client.isUnset(request.vSwitchIdsShrink)) { body["VSwitchIds"] = request.vSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.vpcId)) { body["VpcId"] = request.vpcId ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "CreateInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(CreateInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func createInstance(_ request: CreateInstanceRequest) async throws -> CreateInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await createInstanceWithOptions(request as! CreateInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func createNamespaceWithOptions(_ tmpReq: CreateNamespaceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateNamespaceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: CreateNamespaceShrinkRequest = CreateNamespaceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.ha)) { body["Ha"] = request.ha!; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.namespace)) { body["Namespace"] = request.namespace ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "CreateNamespace", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(CreateNamespaceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func createNamespace(_ request: CreateNamespaceRequest) async throws -> CreateNamespaceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await createNamespaceWithOptions(request as! CreateNamespaceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func deleteInstanceWithOptions(_ request: DeleteInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteInstanceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DeleteInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DeleteInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func deleteInstance(_ request: DeleteInstanceRequest) async throws -> DeleteInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await deleteInstanceWithOptions(request as! DeleteInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func deleteNamespaceWithOptions(_ request: DeleteNamespaceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteNamespaceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.namespace)) { body["Namespace"] = request.namespace ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DeleteNamespace", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DeleteNamespaceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func deleteNamespace(_ request: DeleteNamespaceRequest) async throws -> DeleteNamespaceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await deleteNamespaceWithOptions(request as! DeleteNamespaceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeInstancesWithOptions(_ tmpReq: DescribeInstancesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeInstancesResponse { try TeaUtils.Client.validateModel(tmpReq) var request: DescribeInstancesShrinkRequest = DescribeInstancesShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.tags)) { request.tagsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.tags, "Tags", "json") } var query: [String: String] = AlibabaCloudOpenApiUtil.Client.query(TeaUtils.Client.toMap(request)) var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DescribeInstances", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "GET", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DescribeInstancesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeInstances(_ request: DescribeInstancesRequest) async throws -> DescribeInstancesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await describeInstancesWithOptions(request as! DescribeInstancesRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeNamespacesWithOptions(_ tmpReq: DescribeNamespacesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeNamespacesResponse { try TeaUtils.Client.validateModel(tmpReq) var request: DescribeNamespacesShrinkRequest = DescribeNamespacesShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.tags)) { request.tagsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.tags, "Tags", "json") } var query: [String: String] = AlibabaCloudOpenApiUtil.Client.query(TeaUtils.Client.toMap(request)) var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DescribeNamespaces", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "GET", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DescribeNamespacesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeNamespaces(_ request: DescribeNamespacesRequest) async throws -> DescribeNamespacesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await describeNamespacesWithOptions(request as! DescribeNamespacesRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeSupportedRegionsWithOptions(_ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeSupportedRegionsResponse { var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([:]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DescribeSupportedRegions", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "GET", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DescribeSupportedRegionsResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeSupportedRegions() async throws -> DescribeSupportedRegionsResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await describeSupportedRegionsWithOptions(runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeSupportedZonesWithOptions(_ request: DescribeSupportedZonesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeSupportedZonesResponse { try TeaUtils.Client.validateModel(request) var query: [String: String] = AlibabaCloudOpenApiUtil.Client.query(TeaUtils.Client.toMap(request)) var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "DescribeSupportedZones", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "GET", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(DescribeSupportedZonesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func describeSupportedZones(_ request: DescribeSupportedZonesRequest) async throws -> DescribeSupportedZonesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await describeSupportedZonesWithOptions(request as! DescribeSupportedZonesRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func listTagResourcesWithOptions(_ request: ListTagResourcesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ListTagResourcesResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken ?? ""; } if (!TeaUtils.Client.isUnset(request.regionId)) { query["RegionId"] = request.regionId ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId ?? []; } if (!TeaUtils.Client.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType ?? ""; } if (!TeaUtils.Client.isUnset(request.tag)) { query["Tag"] = request.tag ?? []; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ListTagResources", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ListTagResourcesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func listTagResources(_ request: ListTagResourcesRequest) async throws -> ListTagResourcesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await listTagResourcesWithOptions(request as! ListTagResourcesRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyElasticResourceSpecWithOptions(_ tmpReq: ModifyElasticResourceSpecRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyElasticResourceSpecResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ModifyElasticResourceSpecShrinkRequest = ModifyElasticResourceSpecShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ModifyElasticResourceSpec", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ModifyElasticResourceSpecResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyElasticResourceSpec(_ request: ModifyElasticResourceSpecRequest) async throws -> ModifyElasticResourceSpecResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await modifyElasticResourceSpecWithOptions(request as! ModifyElasticResourceSpecRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyInstanceVswitchWithOptions(_ tmpReq: ModifyInstanceVswitchRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyInstanceVswitchResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ModifyInstanceVswitchShrinkRequest = ModifyInstanceVswitchShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.haVSwitchIds)) { request.haVSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haVSwitchIds, "HaVSwitchIds", "json") } if (!TeaUtils.Client.isUnset(tmpReq.vSwitchIds)) { request.vSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.vSwitchIds, "VSwitchIds", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.haVSwitchIdsShrink)) { body["HaVSwitchIds"] = request.haVSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.vSwitchIdsShrink)) { body["VSwitchIds"] = request.vSwitchIdsShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ModifyInstanceVswitch", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ModifyInstanceVswitchResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyInstanceVswitch(_ request: ModifyInstanceVswitchRequest) async throws -> ModifyInstanceVswitchResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await modifyInstanceVswitchWithOptions(request as! ModifyInstanceVswitchRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyNamespaceSpecV2WithOptions(_ tmpReq: ModifyNamespaceSpecV2Request, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyNamespaceSpecV2Response { try TeaUtils.Client.validateModel(tmpReq) var request: ModifyNamespaceSpecV2ShrinkRequest = ModifyNamespaceSpecV2ShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.elasticResourceSpec)) { request.elasticResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.elasticResourceSpec, "ElasticResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.guaranteedResourceSpec)) { request.guaranteedResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.guaranteedResourceSpec, "GuaranteedResourceSpec", "json") } var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.ha)) { query["Ha"] = request.ha!; } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.elasticResourceSpecShrink)) { body["ElasticResourceSpec"] = request.elasticResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.guaranteedResourceSpecShrink)) { body["GuaranteedResourceSpec"] = request.guaranteedResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.namespace)) { body["Namespace"] = request.namespace ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query), "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ModifyNamespaceSpecV2", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ModifyNamespaceSpecV2Response(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyNamespaceSpecV2(_ request: ModifyNamespaceSpecV2Request) async throws -> ModifyNamespaceSpecV2Response { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await modifyNamespaceSpecV2WithOptions(request as! ModifyNamespaceSpecV2Request, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyPrepayInstanceSpecWithOptions(_ tmpReq: ModifyPrepayInstanceSpecRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyPrepayInstanceSpecResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ModifyPrepayInstanceSpecShrinkRequest = ModifyPrepayInstanceSpecShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.haResourceSpec)) { request.haResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haResourceSpec, "HaResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.haVSwitchIds)) { request.haVSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haVSwitchIds, "HaVSwitchIds", "json") } if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.ha)) { body["Ha"] = request.ha!; } if (!TeaUtils.Client.isUnset(request.haResourceSpecShrink)) { body["HaResourceSpec"] = request.haResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.haVSwitchIdsShrink)) { body["HaVSwitchIds"] = request.haVSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.haZoneId)) { body["HaZoneId"] = request.haZoneId ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ModifyPrepayInstanceSpec", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ModifyPrepayInstanceSpecResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyPrepayInstanceSpec(_ request: ModifyPrepayInstanceSpecRequest) async throws -> ModifyPrepayInstanceSpecResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await modifyPrepayInstanceSpecWithOptions(request as! ModifyPrepayInstanceSpecRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyPrepayNamespaceSpecWithOptions(_ tmpReq: ModifyPrepayNamespaceSpecRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyPrepayNamespaceSpecResponse { try TeaUtils.Client.validateModel(tmpReq) var request: ModifyPrepayNamespaceSpecShrinkRequest = ModifyPrepayNamespaceSpecShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.namespace)) { body["Namespace"] = request.namespace ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ModifyPrepayNamespaceSpec", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(ModifyPrepayNamespaceSpecResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func modifyPrepayNamespaceSpec(_ request: ModifyPrepayNamespaceSpecRequest) async throws -> ModifyPrepayNamespaceSpecResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await modifyPrepayNamespaceSpecWithOptions(request as! ModifyPrepayNamespaceSpecRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryConvertInstancePriceWithOptions(_ tmpReq: QueryConvertInstancePriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> QueryConvertInstancePriceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: QueryConvertInstancePriceShrinkRequest = QueryConvertInstancePriceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.namespaceResourceSpecs)) { request.namespaceResourceSpecsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.namespaceResourceSpecs, "NamespaceResourceSpecs", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.isAutoRenew)) { body["IsAutoRenew"] = request.isAutoRenew!; } if (!TeaUtils.Client.isUnset(request.namespaceResourceSpecsShrink)) { body["NamespaceResourceSpecs"] = request.namespaceResourceSpecsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "QueryConvertInstancePrice", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(QueryConvertInstancePriceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryConvertInstancePrice(_ request: QueryConvertInstancePriceRequest) async throws -> QueryConvertInstancePriceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await queryConvertInstancePriceWithOptions(request as! QueryConvertInstancePriceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryConvertPrepayInstancePriceWithOptions(_ request: QueryConvertPrepayInstancePriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> QueryConvertPrepayInstancePriceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "QueryConvertPrepayInstancePrice", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(QueryConvertPrepayInstancePriceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryConvertPrepayInstancePrice(_ request: QueryConvertPrepayInstancePriceRequest) async throws -> QueryConvertPrepayInstancePriceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await queryConvertPrepayInstancePriceWithOptions(request as! QueryConvertPrepayInstancePriceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryCreateInstancePriceWithOptions(_ tmpReq: QueryCreateInstancePriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> QueryCreateInstancePriceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: QueryCreateInstancePriceShrinkRequest = QueryCreateInstancePriceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.haResourceSpec)) { request.haResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haResourceSpec, "HaResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.storage)) { request.storageShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.storage, "Storage", "json") } if (!TeaUtils.Client.isUnset(tmpReq.vSwitchIds)) { request.vSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.vSwitchIds, "VSwitchIds", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.architectureType)) { body["ArchitectureType"] = request.architectureType ?? ""; } if (!TeaUtils.Client.isUnset(request.autoRenew)) { body["AutoRenew"] = request.autoRenew!; } if (!TeaUtils.Client.isUnset(request.chargeType)) { body["ChargeType"] = request.chargeType ?? ""; } if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.extra)) { body["Extra"] = request.extra ?? ""; } if (!TeaUtils.Client.isUnset(request.ha)) { body["Ha"] = request.ha!; } if (!TeaUtils.Client.isUnset(request.haResourceSpecShrink)) { body["HaResourceSpec"] = request.haResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceName)) { body["InstanceName"] = request.instanceName ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.promotionCode)) { body["PromotionCode"] = request.promotionCode ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.storageShrink)) { body["Storage"] = request.storageShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.usePromotionCode)) { body["UsePromotionCode"] = request.usePromotionCode!; } if (!TeaUtils.Client.isUnset(request.vSwitchIdsShrink)) { body["VSwitchIds"] = request.vSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.vpcId)) { body["VpcId"] = request.vpcId ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "QueryCreateInstancePrice", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(QueryCreateInstancePriceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryCreateInstancePrice(_ request: QueryCreateInstancePriceRequest) async throws -> QueryCreateInstancePriceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await queryCreateInstancePriceWithOptions(request as! QueryCreateInstancePriceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryModifyInstancePriceWithOptions(_ tmpReq: QueryModifyInstancePriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> QueryModifyInstancePriceResponse { try TeaUtils.Client.validateModel(tmpReq) var request: QueryModifyInstancePriceShrinkRequest = QueryModifyInstancePriceShrinkRequest([:]) AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request) if (!TeaUtils.Client.isUnset(tmpReq.haResourceSpec)) { request.haResourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haResourceSpec, "HaResourceSpec", "json") } if (!TeaUtils.Client.isUnset(tmpReq.haVSwitchIds)) { request.haVSwitchIdsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.haVSwitchIds, "HaVSwitchIds", "json") } if (!TeaUtils.Client.isUnset(tmpReq.resourceSpec)) { request.resourceSpecShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.resourceSpec, "ResourceSpec", "json") } var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.ha)) { body["Ha"] = request.ha!; } if (!TeaUtils.Client.isUnset(request.haResourceSpecShrink)) { body["HaResourceSpec"] = request.haResourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.haVSwitchIdsShrink)) { body["HaVSwitchIds"] = request.haVSwitchIdsShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.promotionCode)) { body["PromotionCode"] = request.promotionCode ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceSpecShrink)) { body["ResourceSpec"] = request.resourceSpecShrink ?? ""; } if (!TeaUtils.Client.isUnset(request.usePromotionCode)) { body["UsePromotionCode"] = request.usePromotionCode!; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "QueryModifyInstancePrice", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(QueryModifyInstancePriceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryModifyInstancePrice(_ request: QueryModifyInstancePriceRequest) async throws -> QueryModifyInstancePriceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await queryModifyInstancePriceWithOptions(request as! QueryModifyInstancePriceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryRenewInstancePriceWithOptions(_ request: QueryRenewInstancePriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> QueryRenewInstancePriceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "QueryRenewInstancePrice", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(QueryRenewInstancePriceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func queryRenewInstancePrice(_ request: QueryRenewInstancePriceRequest) async throws -> QueryRenewInstancePriceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await queryRenewInstancePriceWithOptions(request as! QueryRenewInstancePriceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func renewInstanceWithOptions(_ request: RenewInstanceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> RenewInstanceResponse { try TeaUtils.Client.validateModel(request) var body: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.duration)) { body["Duration"] = request.duration!; } if (!TeaUtils.Client.isUnset(request.instanceId)) { body["InstanceId"] = request.instanceId ?? ""; } if (!TeaUtils.Client.isUnset(request.pricingCycle)) { body["PricingCycle"] = request.pricingCycle ?? ""; } if (!TeaUtils.Client.isUnset(request.region)) { body["Region"] = request.region ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "body": AlibabaCloudOpenApiUtil.Client.parseToMap(body) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "RenewInstance", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(RenewInstanceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func renewInstance(_ request: RenewInstanceRequest) async throws -> RenewInstanceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await renewInstanceWithOptions(request as! RenewInstanceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func tagResourcesWithOptions(_ request: TagResourcesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> TagResourcesResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.regionId)) { query["RegionId"] = request.regionId ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId ?? []; } if (!TeaUtils.Client.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType ?? ""; } if (!TeaUtils.Client.isUnset(request.tag)) { query["Tag"] = request.tag ?? []; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "TagResources", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(TagResourcesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func tagResources(_ request: TagResourcesRequest) async throws -> TagResourcesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await tagResourcesWithOptions(request as! TagResourcesRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func untagResourcesWithOptions(_ request: UntagResourcesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> UntagResourcesResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.all)) { query["All"] = request.all!; } if (!TeaUtils.Client.isUnset(request.regionId)) { query["RegionId"] = request.regionId ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceId)) { query["ResourceId"] = request.resourceId ?? []; } if (!TeaUtils.Client.isUnset(request.resourceType)) { query["ResourceType"] = request.resourceType ?? ""; } if (!TeaUtils.Client.isUnset(request.tagKey)) { query["TagKey"] = request.tagKey ?? []; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "UntagResources", "version": "2021-10-28", "protocol": "HTTPS", "pathname": "/", "method": "POST", "authType": "AK", "style": "RPC", "reqBodyType": "formData", "bodyType": "json" ]) var tmp: [String: Any] = try await callApi(params as! AlibabacloudOpenApi.Params, req as! AlibabacloudOpenApi.OpenApiRequest, runtime as! TeaUtils.RuntimeOptions) return Tea.TeaConverter.fromMap(UntagResourcesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func untagResources(_ request: UntagResourcesRequest) async throws -> UntagResourcesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await untagResourcesWithOptions(request as! UntagResourcesRequest, runtime as! TeaUtils.RuntimeOptions) } }