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