pai-dsw-20220101/Sources/AlibabacloudPaiDsw20220101/Client.swift (1,160 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("pai-dsw", 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 createIdleInstanceCullerWithOptions(_ InstanceId: String, _ request: CreateIdleInstanceCullerRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateIdleInstanceCullerResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.cpuPercentThreshold)) {
body["CpuPercentThreshold"] = request.cpuPercentThreshold!;
}
if (!TeaUtils.Client.isUnset(request.gpuPercentThreshold)) {
body["GpuPercentThreshold"] = request.gpuPercentThreshold!;
}
if (!TeaUtils.Client.isUnset(request.maxIdleTimeInMinutes)) {
body["MaxIdleTimeInMinutes"] = request.maxIdleTimeInMinutes!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "CreateIdleInstanceCuller",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/idleinstanceculler",
"method": "POST",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(CreateIdleInstanceCullerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createIdleInstanceCuller(_ InstanceId: String, _ request: CreateIdleInstanceCullerRequest) async throws -> CreateIdleInstanceCullerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await createIdleInstanceCullerWithOptions(InstanceId as! String, request as! CreateIdleInstanceCullerRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createInstanceWithOptions(_ request: CreateInstanceRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateInstanceResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.accessibility)) {
body["Accessibility"] = request.accessibility ?? "";
}
if (!TeaUtils.Client.isUnset(request.affinity)) {
body["Affinity"] = request.affinity!;
}
if (!TeaUtils.Client.isUnset(request.cloudDisks)) {
body["CloudDisks"] = request.cloudDisks ?? [];
}
if (!TeaUtils.Client.isUnset(request.credentialConfig)) {
body["CredentialConfig"] = request.credentialConfig!;
}
if (!TeaUtils.Client.isUnset(request.datasets)) {
body["Datasets"] = request.datasets ?? [];
}
if (!TeaUtils.Client.isUnset(request.driver)) {
body["Driver"] = request.driver ?? "";
}
if (!TeaUtils.Client.isUnset(request.dynamicMount)) {
body["DynamicMount"] = request.dynamicMount!;
}
if (!TeaUtils.Client.isUnset(request.ecsSpec)) {
body["EcsSpec"] = request.ecsSpec ?? "";
}
if (!TeaUtils.Client.isUnset(request.environmentVariables)) {
body["EnvironmentVariables"] = request.environmentVariables ?? [:];
}
if (!TeaUtils.Client.isUnset(request.imageAuth)) {
body["ImageAuth"] = request.imageAuth ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageId)) {
body["ImageId"] = request.imageId ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageUrl)) {
body["ImageUrl"] = request.imageUrl ?? "";
}
if (!TeaUtils.Client.isUnset(request.instanceName)) {
body["InstanceName"] = request.instanceName ?? "";
}
if (!TeaUtils.Client.isUnset(request.labels)) {
body["Labels"] = request.labels ?? [];
}
if (!TeaUtils.Client.isUnset(request.priority)) {
body["Priority"] = request.priority!;
}
if (!TeaUtils.Client.isUnset(request.requestedResource)) {
body["RequestedResource"] = request.requestedResource!;
}
if (!TeaUtils.Client.isUnset(request.resourceId)) {
body["ResourceId"] = request.resourceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.tag)) {
body["Tag"] = request.tag ?? [];
}
if (!TeaUtils.Client.isUnset(request.userId)) {
body["UserId"] = request.userId ?? "";
}
if (!TeaUtils.Client.isUnset(request.userVpc)) {
body["UserVpc"] = request.userVpc!;
}
if (!TeaUtils.Client.isUnset(request.workspaceId)) {
body["WorkspaceId"] = request.workspaceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.workspaceSource)) {
body["WorkspaceSource"] = request.workspaceSource ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "CreateInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances",
"method": "POST",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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([:])
var headers: [String: String] = [:]
return try await createInstanceWithOptions(request as! CreateInstanceRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createInstanceShutdownTimerWithOptions(_ InstanceId: String, _ request: CreateInstanceShutdownTimerRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateInstanceShutdownTimerResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.dueTime)) {
body["DueTime"] = request.dueTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.remainingTimeInMs)) {
body["RemainingTimeInMs"] = request.remainingTimeInMs!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "CreateInstanceShutdownTimer",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/shutdowntimer",
"method": "POST",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(CreateInstanceShutdownTimerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createInstanceShutdownTimer(_ InstanceId: String, _ request: CreateInstanceShutdownTimerRequest) async throws -> CreateInstanceShutdownTimerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await createInstanceShutdownTimerWithOptions(InstanceId as! String, request as! CreateInstanceShutdownTimerRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createInstanceSnapshotWithOptions(_ InstanceId: String, _ request: CreateInstanceSnapshotRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> CreateInstanceSnapshotResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.excludePaths)) {
body["ExcludePaths"] = request.excludePaths ?? [];
}
if (!TeaUtils.Client.isUnset(request.imageUrl)) {
body["ImageUrl"] = request.imageUrl ?? "";
}
if (!TeaUtils.Client.isUnset(request.labels)) {
body["Labels"] = request.labels ?? [];
}
if (!TeaUtils.Client.isUnset(request.overwrite)) {
body["Overwrite"] = request.overwrite!;
}
if (!TeaUtils.Client.isUnset(request.snapshotDescription)) {
body["SnapshotDescription"] = request.snapshotDescription ?? "";
}
if (!TeaUtils.Client.isUnset(request.snapshotName)) {
body["SnapshotName"] = request.snapshotName ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "CreateInstanceSnapshot",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/snapshots",
"method": "POST",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(CreateInstanceSnapshotResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func createInstanceSnapshot(_ InstanceId: String, _ request: CreateInstanceSnapshotRequest) async throws -> CreateInstanceSnapshotResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await createInstanceSnapshotWithOptions(InstanceId as! String, request as! CreateInstanceSnapshotRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteIdleInstanceCullerWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteIdleInstanceCullerResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DeleteIdleInstanceCuller",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/idleinstanceculler",
"method": "DELETE",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(DeleteIdleInstanceCullerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteIdleInstanceCuller(_ InstanceId: String) async throws -> DeleteIdleInstanceCullerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await deleteIdleInstanceCullerWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteInstanceResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DeleteInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)),
"method": "DELETE",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(_ InstanceId: String) async throws -> DeleteInstanceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await deleteInstanceWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceLabelsWithOptions(_ InstanceId: String, _ request: DeleteInstanceLabelsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteInstanceLabelsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.labelKeys)) {
query["LabelKeys"] = request.labelKeys ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DeleteInstanceLabels",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/labels",
"method": "DELETE",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(DeleteInstanceLabelsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceLabels(_ InstanceId: String, _ request: DeleteInstanceLabelsRequest) async throws -> DeleteInstanceLabelsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await deleteInstanceLabelsWithOptions(InstanceId as! String, request as! DeleteInstanceLabelsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceShutdownTimerWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteInstanceShutdownTimerResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DeleteInstanceShutdownTimer",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/shutdowntimer",
"method": "DELETE",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(DeleteInstanceShutdownTimerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceShutdownTimer(_ InstanceId: String) async throws -> DeleteInstanceShutdownTimerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await deleteInstanceShutdownTimerWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceSnapshotWithOptions(_ InstanceId: String, _ SnapshotId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> DeleteInstanceSnapshotResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "DeleteInstanceSnapshot",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/snapshots/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(SnapshotId)),
"method": "DELETE",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(DeleteInstanceSnapshotResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func deleteInstanceSnapshot(_ InstanceId: String, _ SnapshotId: String) async throws -> DeleteInstanceSnapshotResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await deleteInstanceSnapshotWithOptions(InstanceId as! String, SnapshotId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getIdleInstanceCullerWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetIdleInstanceCullerResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetIdleInstanceCuller",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/idleinstanceculler",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetIdleInstanceCullerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getIdleInstanceCuller(_ InstanceId: String) async throws -> GetIdleInstanceCullerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getIdleInstanceCullerWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceWithOptions(_ InstanceId: String, _ request: GetInstanceRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetInstanceResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.token)) {
query["Token"] = request.token ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)),
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetInstanceResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstance(_ InstanceId: String, _ request: GetInstanceRequest) async throws -> GetInstanceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getInstanceWithOptions(InstanceId as! String, request as! GetInstanceRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceEventsWithOptions(_ InstanceId: String, _ request: GetInstanceEventsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetInstanceEventsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.maxEventsNum)) {
query["MaxEventsNum"] = request.maxEventsNum!;
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.token)) {
query["Token"] = request.token ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetInstanceEvents",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/events",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetInstanceEventsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceEvents(_ InstanceId: String, _ request: GetInstanceEventsRequest) async throws -> GetInstanceEventsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getInstanceEventsWithOptions(InstanceId as! String, request as! GetInstanceEventsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceMetricsWithOptions(_ InstanceId: String, _ request: GetInstanceMetricsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetInstanceMetricsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.metricType)) {
query["MetricType"] = request.metricType ?? "";
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.timeStep)) {
query["TimeStep"] = request.timeStep ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetInstanceMetrics",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instance/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/metrics",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetInstanceMetricsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceMetrics(_ InstanceId: String, _ request: GetInstanceMetricsRequest) async throws -> GetInstanceMetricsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getInstanceMetricsWithOptions(InstanceId as! String, request as! GetInstanceMetricsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceShutdownTimerWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetInstanceShutdownTimerResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetInstanceShutdownTimer",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/shutdowntimer",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetInstanceShutdownTimerResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceShutdownTimer(_ InstanceId: String) async throws -> GetInstanceShutdownTimerResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getInstanceShutdownTimerWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceSnapshotWithOptions(_ InstanceId: String, _ SnapshotId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetInstanceSnapshotResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetInstanceSnapshot",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/snapshots/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(SnapshotId)),
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetInstanceSnapshotResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getInstanceSnapshot(_ InstanceId: String, _ SnapshotId: String) async throws -> GetInstanceSnapshotResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getInstanceSnapshotWithOptions(InstanceId as! String, SnapshotId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getLifecycleWithOptions(_ InstanceId: String, _ request: GetLifecycleRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetLifecycleResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.limit)) {
query["Limit"] = request.limit!;
}
if (!TeaUtils.Client.isUnset(request.order)) {
query["Order"] = request.order ?? "";
}
if (!TeaUtils.Client.isUnset(request.sessionNumber)) {
query["SessionNumber"] = request.sessionNumber!;
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.token)) {
query["Token"] = request.token ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetLifecycle",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/lifecycle",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetLifecycleResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getLifecycle(_ InstanceId: String, _ request: GetLifecycleRequest) async throws -> GetLifecycleResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getLifecycleWithOptions(InstanceId as! String, request as! GetLifecycleRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getMetricsWithOptions(_ InstanceId: String, _ request: GetMetricsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetMetricsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.dimensions)) {
query["Dimensions"] = request.dimensions ?? "";
}
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.length)) {
query["Length"] = request.length ?? "";
}
if (!TeaUtils.Client.isUnset(request.metricName)) {
query["MetricName"] = request.metricName ?? "";
}
if (!TeaUtils.Client.isUnset(request.namespace)) {
query["Namespace"] = request.namespace ?? "";
}
if (!TeaUtils.Client.isUnset(request.nextToken)) {
query["NextToken"] = request.nextToken ?? "";
}
if (!TeaUtils.Client.isUnset(request.period)) {
query["Period"] = request.period ?? "";
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetMetrics",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instance/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/cms/metrics",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetMetricsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getMetrics(_ InstanceId: String, _ request: GetMetricsRequest) async throws -> GetMetricsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getMetricsWithOptions(InstanceId as! String, request as! GetMetricsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getResourceGroupStatisticsWithOptions(_ request: GetResourceGroupStatisticsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetResourceGroupStatisticsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.endTime)) {
query["EndTime"] = request.endTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.resourceId)) {
query["ResourceId"] = request.resourceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.startTime)) {
query["StartTime"] = request.startTime ?? "";
}
if (!TeaUtils.Client.isUnset(request.workspaceIds)) {
query["WorkspaceIds"] = request.workspaceIds ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetResourceGroupStatistics",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/resourcegroupstatistics",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetResourceGroupStatisticsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getResourceGroupStatistics(_ request: GetResourceGroupStatisticsRequest) async throws -> GetResourceGroupStatisticsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getResourceGroupStatisticsWithOptions(request as! GetResourceGroupStatisticsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getTokenWithOptions(_ request: GetTokenRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetTokenResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.expireTime)) {
query["ExpireTime"] = request.expireTime!;
}
if (!TeaUtils.Client.isUnset(request.instanceId)) {
query["InstanceId"] = request.instanceId ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetToken",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/tokens",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(_ request: GetTokenRequest) async throws -> GetTokenResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getTokenWithOptions(request as! GetTokenRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getUserConfigWithOptions(_ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> GetUserConfigResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "GetUserConfig",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/userconfig",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(GetUserConfigResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func getUserConfig() async throws -> GetUserConfigResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await getUserConfigWithOptions(headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listEcsSpecsWithOptions(_ request: ListEcsSpecsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> ListEcsSpecsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.acceleratorType)) {
query["AcceleratorType"] = request.acceleratorType ?? "";
}
if (!TeaUtils.Client.isUnset(request.order)) {
query["Order"] = request.order ?? "";
}
if (!TeaUtils.Client.isUnset(request.pageNumber)) {
query["PageNumber"] = request.pageNumber!;
}
if (!TeaUtils.Client.isUnset(request.pageSize)) {
query["PageSize"] = request.pageSize!;
}
if (!TeaUtils.Client.isUnset(request.sortBy)) {
query["SortBy"] = request.sortBy ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "ListEcsSpecs",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/ecsspecs",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(ListEcsSpecsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listEcsSpecs(_ request: ListEcsSpecsRequest) async throws -> ListEcsSpecsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await listEcsSpecsWithOptions(request as! ListEcsSpecsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstanceSnapshotWithOptions(_ InstanceId: String, _ request: ListInstanceSnapshotRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> ListInstanceSnapshotResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.order)) {
query["Order"] = request.order ?? "";
}
if (!TeaUtils.Client.isUnset(request.pageNumber)) {
query["PageNumber"] = request.pageNumber!;
}
if (!TeaUtils.Client.isUnset(request.pageSize)) {
query["PageSize"] = request.pageSize!;
}
if (!TeaUtils.Client.isUnset(request.sortBy)) {
query["SortBy"] = request.sortBy ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "ListInstanceSnapshot",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/snapshots",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(ListInstanceSnapshotResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstanceSnapshot(_ InstanceId: String, _ request: ListInstanceSnapshotRequest) async throws -> ListInstanceSnapshotResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await listInstanceSnapshotWithOptions(InstanceId as! String, request as! ListInstanceSnapshotRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstanceStatisticsWithOptions(_ request: ListInstanceStatisticsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> ListInstanceStatisticsResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.workspaceIds)) {
query["WorkspaceIds"] = request.workspaceIds ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "ListInstanceStatistics",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instancestatistics",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(ListInstanceStatisticsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstanceStatistics(_ request: ListInstanceStatisticsRequest) async throws -> ListInstanceStatisticsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await listInstanceStatisticsWithOptions(request as! ListInstanceStatisticsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstancesWithOptions(_ tmpReq: ListInstancesRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> ListInstancesResponse {
try TeaUtils.Client.validateModel(tmpReq)
var request: ListInstancesShrinkRequest = ListInstancesShrinkRequest([:])
AlibabaCloudOpenApiUtil.Client.convert(tmpReq, request)
if (!TeaUtils.Client.isUnset(tmpReq.labels)) {
request.labelsShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.labels, "Labels", "json")
}
if (!TeaUtils.Client.isUnset(tmpReq.tag)) {
request.tagShrink = AlibabaCloudOpenApiUtil.Client.arrayToStringWithSpecifiedStyle(tmpReq.tag, "Tag", "json")
}
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.acceleratorType)) {
query["AcceleratorType"] = request.acceleratorType ?? "";
}
if (!TeaUtils.Client.isUnset(request.accessibility)) {
query["Accessibility"] = request.accessibility ?? "";
}
if (!TeaUtils.Client.isUnset(request.createUserId)) {
query["CreateUserId"] = request.createUserId ?? "";
}
if (!TeaUtils.Client.isUnset(request.gpuType)) {
query["GpuType"] = request.gpuType ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageName)) {
query["ImageName"] = request.imageName ?? "";
}
if (!TeaUtils.Client.isUnset(request.instanceId)) {
query["InstanceId"] = request.instanceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.instanceName)) {
query["InstanceName"] = request.instanceName ?? "";
}
if (!TeaUtils.Client.isUnset(request.labelsShrink)) {
query["Labels"] = request.labelsShrink ?? "";
}
if (!TeaUtils.Client.isUnset(request.maxCpu)) {
query["MaxCpu"] = request.maxCpu ?? "";
}
if (!TeaUtils.Client.isUnset(request.maxGpu)) {
query["MaxGpu"] = request.maxGpu ?? "";
}
if (!TeaUtils.Client.isUnset(request.maxGpuMemory)) {
query["MaxGpuMemory"] = request.maxGpuMemory ?? "";
}
if (!TeaUtils.Client.isUnset(request.maxMemory)) {
query["MaxMemory"] = request.maxMemory ?? "";
}
if (!TeaUtils.Client.isUnset(request.minCpu)) {
query["MinCpu"] = request.minCpu ?? "";
}
if (!TeaUtils.Client.isUnset(request.minGpu)) {
query["MinGpu"] = request.minGpu ?? "";
}
if (!TeaUtils.Client.isUnset(request.minGpuMemory)) {
query["MinGpuMemory"] = request.minGpuMemory ?? "";
}
if (!TeaUtils.Client.isUnset(request.minMemory)) {
query["MinMemory"] = request.minMemory ?? "";
}
if (!TeaUtils.Client.isUnset(request.order)) {
query["Order"] = request.order ?? "";
}
if (!TeaUtils.Client.isUnset(request.oversoldInfo)) {
query["OversoldInfo"] = request.oversoldInfo ?? "";
}
if (!TeaUtils.Client.isUnset(request.oversoldType)) {
query["OversoldType"] = request.oversoldType ?? "";
}
if (!TeaUtils.Client.isUnset(request.pageNumber)) {
query["PageNumber"] = request.pageNumber!;
}
if (!TeaUtils.Client.isUnset(request.pageSize)) {
query["PageSize"] = request.pageSize!;
}
if (!TeaUtils.Client.isUnset(request.paymentType)) {
query["PaymentType"] = request.paymentType ?? "";
}
if (!TeaUtils.Client.isUnset(request.resourceId)) {
query["ResourceId"] = request.resourceId ?? "";
}
if (!TeaUtils.Client.isUnset(request.sortBy)) {
query["SortBy"] = request.sortBy ?? "";
}
if (!TeaUtils.Client.isUnset(request.status)) {
query["Status"] = request.status ?? "";
}
if (!TeaUtils.Client.isUnset(request.tagShrink)) {
query["Tag"] = request.tagShrink ?? "";
}
if (!TeaUtils.Client.isUnset(request.workspaceId)) {
query["WorkspaceId"] = request.workspaceId ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "ListInstances",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances",
"method": "GET",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(ListInstancesResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func listInstances(_ request: ListInstancesRequest) async throws -> ListInstancesResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await listInstancesWithOptions(request as! ListInstancesRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func startInstanceWithOptions(_ InstanceId: String, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> StartInstanceResponse {
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String]
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "StartInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/start",
"method": "PUT",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(StartInstanceResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func startInstance(_ InstanceId: String) async throws -> StartInstanceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await startInstanceWithOptions(InstanceId as! String, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func stopInstanceWithOptions(_ InstanceId: String, _ request: StopInstanceRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> StopInstanceResponse {
try TeaUtils.Client.validateModel(request)
var query: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.saveImage)) {
query["SaveImage"] = request.saveImage!;
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"query": AlibabaCloudOpenApiUtil.Client.query(query)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "StopInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/stop",
"method": "PUT",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(StopInstanceResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func stopInstance(_ InstanceId: String, _ request: StopInstanceRequest) async throws -> StopInstanceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await stopInstanceWithOptions(InstanceId as! String, request as! StopInstanceRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func updateInstanceWithOptions(_ InstanceId: String, _ request: UpdateInstanceRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> UpdateInstanceResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.accessibility)) {
body["Accessibility"] = request.accessibility ?? "";
}
if (!TeaUtils.Client.isUnset(request.affinity)) {
body["Affinity"] = request.affinity!;
}
if (!TeaUtils.Client.isUnset(request.cloudDisks)) {
body["CloudDisks"] = request.cloudDisks ?? [];
}
if (!TeaUtils.Client.isUnset(request.credentialConfig)) {
body["CredentialConfig"] = request.credentialConfig!;
}
if (!TeaUtils.Client.isUnset(request.datasets)) {
body["Datasets"] = request.datasets ?? [];
}
if (!TeaUtils.Client.isUnset(request.disassociateCredential)) {
body["DisassociateCredential"] = request.disassociateCredential!;
}
if (!TeaUtils.Client.isUnset(request.disassociateDatasets)) {
body["DisassociateDatasets"] = request.disassociateDatasets!;
}
if (!TeaUtils.Client.isUnset(request.disassociateDriver)) {
body["DisassociateDriver"] = request.disassociateDriver!;
}
if (!TeaUtils.Client.isUnset(request.disassociateForwardInfos)) {
body["DisassociateForwardInfos"] = request.disassociateForwardInfos!;
}
if (!TeaUtils.Client.isUnset(request.disassociateVpc)) {
body["DisassociateVpc"] = request.disassociateVpc!;
}
if (!TeaUtils.Client.isUnset(request.driver)) {
body["Driver"] = request.driver ?? "";
}
if (!TeaUtils.Client.isUnset(request.dynamicMount)) {
body["DynamicMount"] = request.dynamicMount!;
}
if (!TeaUtils.Client.isUnset(request.ecsSpec)) {
body["EcsSpec"] = request.ecsSpec ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageAuth)) {
body["ImageAuth"] = request.imageAuth ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageId)) {
body["ImageId"] = request.imageId ?? "";
}
if (!TeaUtils.Client.isUnset(request.imageUrl)) {
body["ImageUrl"] = request.imageUrl ?? "";
}
if (!TeaUtils.Client.isUnset(request.instanceName)) {
body["InstanceName"] = request.instanceName ?? "";
}
if (!TeaUtils.Client.isUnset(request.priority)) {
body["Priority"] = request.priority!;
}
if (!TeaUtils.Client.isUnset(request.requestedResource)) {
body["RequestedResource"] = request.requestedResource!;
}
if (!TeaUtils.Client.isUnset(request.userId)) {
body["UserId"] = request.userId ?? "";
}
if (!TeaUtils.Client.isUnset(request.userVpc)) {
body["UserVpc"] = request.userVpc!;
}
if (!TeaUtils.Client.isUnset(request.workspaceSource)) {
body["WorkspaceSource"] = request.workspaceSource ?? "";
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "UpdateInstance",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)),
"method": "PUT",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(UpdateInstanceResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func updateInstance(_ InstanceId: String, _ request: UpdateInstanceRequest) async throws -> UpdateInstanceResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await updateInstanceWithOptions(InstanceId as! String, request as! UpdateInstanceRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func updateInstanceLabelsWithOptions(_ InstanceId: String, _ request: UpdateInstanceLabelsRequest, _ headers: [String: String], _ runtime: TeaUtils.RuntimeOptions) async throws -> UpdateInstanceLabelsResponse {
try TeaUtils.Client.validateModel(request)
var body: [String: Any] = [:]
if (!TeaUtils.Client.isUnset(request.labels)) {
body["Labels"] = request.labels ?? [];
}
var req: AlibabacloudOpenApi.OpenApiRequest = AlibabacloudOpenApi.OpenApiRequest([
"headers": headers as! [String: String],
"body": AlibabaCloudOpenApiUtil.Client.parseToMap(body)
])
var params: AlibabacloudOpenApi.Params = AlibabacloudOpenApi.Params([
"action": "UpdateInstanceLabels",
"version": "2022-01-01",
"protocol": "HTTPS",
"pathname": "/api/v2/instances/" + (AlibabaCloudOpenApiUtil.Client.getEncodeParam(InstanceId)) + "/labels",
"method": "PUT",
"authType": "AK",
"style": "ROA",
"reqBodyType": "json",
"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(UpdateInstanceLabelsResponse(), tmp)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public func updateInstanceLabels(_ InstanceId: String, _ request: UpdateInstanceLabelsRequest) async throws -> UpdateInstanceLabelsResponse {
var runtime: TeaUtils.RuntimeOptions = TeaUtils.RuntimeOptions([:])
var headers: [String: String] = [:]
return try await updateInstanceLabelsWithOptions(InstanceId as! String, request as! UpdateInstanceLabelsRequest, headers as! [String: String], runtime as! TeaUtils.RuntimeOptions)
}
}