wss-20211221/Sources/AlibabacloudWss20211221/Client.swift (214 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 = ""
try checkConfig(config as! AlibabacloudOpenApi.Config)
self._endpoint = try getEndpoint("wss", 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 createMultiOrderWithOptions(_ tmpReq: CreateMultiOrderRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateMultiOrderResponse {
try TeaUtils.Client.validateModel(tmpReq)
var request: CreateMultiOrderShrinkRequest = CreateMultiOrderShrinkRequest([:])
AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request)
if (!TeaUtils.Client.isUnset(tmpReq.properties)) {
request.propertiesShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.properties, "Properties", "json")
}
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.orderItems)) {
query["OrderItems"] = request.orderItems ?? [];
}
if (!TeaUtils.Client.isUnset(request.orderType)) {
query["OrderType"] = request.orderType ?? "";
}
if (!TeaUtils.Client.isUnset(request.propertiesShrink)) {
query["Properties"] = request.propertiesShrink ?? "";
}
if (!TeaUtils.Client.isUnset(request.resellerOwnerUid)) {
query["ResellerOwnerUid"] = request.resellerOwnerUid!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "CreateMultiOrder",
"version": "2021-12-21",
"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(CreateMultiOrderResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createMultiOrder(_ request: CreateMultiOrderRequest) async throws -> CreateMultiOrderResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
return try await createMultiOrderWithOptions(request as! CreateMultiOrderRequest, runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describeDeliveryAddressWithOptions(_ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeDeliveryAddressResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([:])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DescribeDeliveryAddress",
"version": "2021-12-21",
"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(DescribeDeliveryAddressResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describeDeliveryAddress() async throws -> DescribeDeliveryAddressResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
return try await describeDeliveryAddressWithOptions(runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describeMultiPriceWithOptions(_ request: DescribeMultiPriceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DescribeMultiPriceResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.orderItems)) {
query["OrderItems"] = request.orderItems ?? [];
}
if (!TeaUtils.Client.isUnset(request.orderType)) {
query["OrderType"] = request.orderType ?? "";
}
if (!TeaUtils.Client.isUnset(request.packageCode)) {
query["PackageCode"] = request.packageCode ?? "";
}
if (!TeaUtils.Client.isUnset(request.resellerOwnerUid)) {
query["ResellerOwnerUid"] = request.resellerOwnerUid!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DescribeMultiPrice",
"version": "2021-12-21",
"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(DescribeMultiPriceResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describeMultiPrice(_ request: DescribeMultiPriceRequest) async throws -> DescribeMultiPriceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
return try await describeMultiPriceWithOptions(request as! DescribeMultiPriceRequest, runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describePackageDeductionsWithOptions(_ request: DescribePackageDeductionsRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> DescribePackageDeductionsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime!;
}
if (!TeaUtils.Client.isUnset(request.instanceIds)) {
query["InstanceIds"] = request.instanceIds ?? [];
}
if (!TeaUtils.Client.isUnset(request.packageIds)) {
query["PackageIds"] = request.packageIds ?? [];
}
if (!TeaUtils.Client.isUnset(request.pageNum)) {
query["PageNum"] = request.pageNum!;
}
if (!TeaUtils.Client.isUnset(request.pageSize)) {
query["PageSize"] = request.pageSize!;
}
if (!TeaUtils.Client.isUnset(request.resourceType)) {
query["ResourceType"] = request.resourceType ?? "";
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DescribePackageDeductions",
"version": "2021-12-21",
"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(DescribePackageDeductionsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func describePackageDeductions(_ request: DescribePackageDeductionsRequest) async throws -> DescribePackageDeductionsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
return try await describePackageDeductionsWithOptions(request as! DescribePackageDeductionsRequest, runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func modifyInstancePropertiesWithOptions(_ request: ModifyInstancePropertiesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ModifyInstancePropertiesResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.instanceId)) {
query["InstanceId"] = request.instanceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.instanceIds)) {
query["InstanceIds"] = request.instanceIds ?? [];
}
if (!TeaUtils.Client.isUnset(request.key)) {
query["Key"] = request.key ?? "";
}
if (!TeaUtils.Client.isUnset(request.resourceType)) {
query["ResourceType"] = request.resourceType ?? "";
}
if (!TeaUtils.Client.isUnset(request.value)) {
query["Value"] = request.value ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "ModifyInstanceProperties",
"version": "2021-12-21",
"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(ModifyInstancePropertiesResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func modifyInstanceProperties(_ request: ModifyInstancePropertiesRequest) async throws -> ModifyInstancePropertiesResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
return try await modifyInstancePropertiesWithOptions(request as! ModifyInstancePropertiesRequest, runtime as! TeaUtils.RuntimeOptions)
}
}