saf-20190521/Sources/AlibabacloudSaf20190521/Client.swift (217 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 = "regional" self._endpointMap = [ "cn-hangzhou": "saf.cn-shanghai.aliyuncs.com" ] try checkConfig(config as! AlibabacloudOpenApi.Config) self._endpoint = try getEndpoint("saf", 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 executeExtendServiceWithOptions(_ request: ExecuteExtendServiceRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ExecuteExtendServiceResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.region)) { query["Region"] = request.region ?? ""; } if (!TeaUtils.Client.isUnset(request.service)) { query["Service"] = request.service ?? ""; } if (!TeaUtils.Client.isUnset(request.serviceParameters)) { query["ServiceParameters"] = request.serviceParameters ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ExecuteExtendService", "version": "2019-05-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(ExecuteExtendServiceResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeExtendService(_ request: ExecuteExtendServiceRequest) async throws -> ExecuteExtendServiceResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await executeExtendServiceWithOptions(request as! ExecuteExtendServiceRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequestWithOptions(_ request: ExecuteRequestRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ExecuteRequestResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.service)) { query["Service"] = request.service ?? ""; } if (!TeaUtils.Client.isUnset(request.serviceParameters)) { query["ServiceParameters"] = request.serviceParameters ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ExecuteRequest", "version": "2019-05-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(ExecuteRequestResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequest(_ request: ExecuteRequestRequest) async throws -> ExecuteRequestResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await executeRequestWithOptions(request as! ExecuteRequestRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequestMLWithOptions(_ request: ExecuteRequestMLRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ExecuteRequestMLResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.lang)) { query["Lang"] = request.lang ?? ""; } if (!TeaUtils.Client.isUnset(request.service)) { query["Service"] = request.service ?? ""; } if (!TeaUtils.Client.isUnset(request.serviceParameters)) { query["ServiceParameters"] = request.serviceParameters ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ExecuteRequestML", "version": "2019-05-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(ExecuteRequestMLResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequestML(_ request: ExecuteRequestMLRequest) async throws -> ExecuteRequestMLResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await executeRequestMLWithOptions(request as! ExecuteRequestMLRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequestSGWithOptions(_ request: ExecuteRequestSGRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ExecuteRequestSGResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.lang)) { query["Lang"] = request.lang ?? ""; } if (!TeaUtils.Client.isUnset(request.service)) { query["Service"] = request.service ?? ""; } if (!TeaUtils.Client.isUnset(request.serviceParameters)) { query["ServiceParameters"] = request.serviceParameters ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ExecuteRequestSG", "version": "2019-05-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(ExecuteRequestSGResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func executeRequestSG(_ request: ExecuteRequestSGRequest) async throws -> ExecuteRequestSGResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await executeRequestSGWithOptions(request as! ExecuteRequestSGRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func getTokenWithOptions(_ runtime: TeaUtils.RuntimeOptions) async throws -> GetTokenResponse { var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([:]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "GetToken", "version": "2019-05-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(GetTokenResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func getToken() async throws -> GetTokenResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await getTokenWithOptions(runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func requestDecisionWithOptions(_ request: RequestDecisionRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> RequestDecisionResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.eventCode)) { query["EventCode"] = request.eventCode ?? ""; } if (!TeaUtils.Client.isUnset(request.serviceParameters)) { query["ServiceParameters"] = request.serviceParameters ?? ""; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "RequestDecision", "version": "2019-05-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(RequestDecisionResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func requestDecision(_ request: RequestDecisionRequest) async throws -> RequestDecisionResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await requestDecisionWithOptions(request as! RequestDecisionRequest, runtime as! TeaUtils.RuntimeOptions) } }