rmc-20211104/Sources/AlibabacloudRMC20211104/Client.swift (108 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("rmc", 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 listResourceRelationshipsWithOptions(_ request: ListResourceRelationshipsRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> ListResourceRelationshipsResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults!; } if (!TeaUtils.Client.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken ?? ""; } if (!TeaUtils.Client.isUnset(request.sourceRegionId)) { query["SourceRegionId"] = request.sourceRegionId ?? ""; } if (!TeaUtils.Client.isUnset(request.sourceResourceId)) { query["SourceResourceId"] = request.sourceResourceId ?? []; } if (!TeaUtils.Client.isUnset(request.sourceResourceType)) { query["SourceResourceType"] = request.sourceResourceType ?? ""; } if (!TeaUtils.Client.isUnset(request.targetResourceType)) { query["TargetResourceType"] = request.targetResourceType ?? []; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "ListResourceRelationships", "version": "2021-11-04", "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(ListResourceRelationshipsResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func listResourceRelationships(_ request: ListResourceRelationshipsRequest) async throws -> ListResourceRelationshipsResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await listResourceRelationshipsWithOptions(request as! ListResourceRelationshipsRequest, runtime as! TeaUtils.RuntimeOptions) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func searchResourcesWithOptions(_ request: SearchResourcesRequest, _ runtime: TeaUtils.RuntimeOptions) async throws -> SearchResourcesResponse { try TeaUtils.Client.validateModel(request) var query: [String: Any] = [:] if (!TeaUtils.Client.isUnset(request.filter)) { query["Filter"] = request.filter ?? []; } if (!TeaUtils.Client.isUnset(request.maxResults)) { query["MaxResults"] = request.maxResults!; } if (!TeaUtils.Client.isUnset(request.nextToken)) { query["NextToken"] = request.nextToken ?? ""; } if (!TeaUtils.Client.isUnset(request.resourceGroupId)) { query["ResourceGroupId"] = request.resourceGroupId ?? ""; } if (!TeaUtils.Client.isUnset(request.sortCriterion)) { query["SortCriterion"] = request.sortCriterion!; } var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([ "query": AlibabaCloudOpenApiUtil.Client.query(query) ]) var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([ "action": "SearchResources", "version": "2021-11-04", "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(SearchResourcesResponse(), tmp) } @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public func searchResources(_ request: SearchResourcesRequest) async throws -> SearchResourcesResponse { var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:]) return try await searchResourcesWithOptions(request as! SearchResourcesRequest, runtime as! TeaUtils.RuntimeOptions) } }