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)
}
}