ecd-20200930/alibabacloud_ecd20200930/client.py (7,598 lines of code) (raw):
# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from __future__ import unicode_literals
from Tea.core import TeaCore
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_endpoint_util.client import Client as EndpointUtilClient
from alibabacloud_ecd20200930 import models as ecd_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
class Client(OpenApiClient):
"""
*\
"""
def __init__(self, config):
super(Client, self).__init__(config)
self._signature_algorithm = 'v2'
self._endpoint_rule = 'regional'
self.check_config(config)
self._endpoint = self.get_endpoint('ecd', self._region_id, self._endpoint_rule, self._network, self._suffix, self._endpoint_map, self._endpoint)
def get_endpoint(self, product_id, region_id, endpoint_rule, network, suffix, endpoint_map, endpoint):
if not UtilClient.empty(endpoint):
return endpoint
if not UtilClient.is_unset(endpoint_map) and not UtilClient.empty(endpoint_map.get(region_id)):
return endpoint_map.get(region_id)
return EndpointUtilClient.get_endpoint_rules(product_id, region_id, endpoint_rule, network, suffix)
def activate_office_site_with_options(self, request, runtime):
"""
If you do not create any cloud computer in a convenience office network within 15 days, the office network is automatically locked and virtual private cloud (VPC) resources are released. If you want to resume the office network, you can call this operation to unlock the office network.
@param request: ActivateOfficeSiteRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ActivateOfficeSiteResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ActivateOfficeSite',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ActivateOfficeSiteResponse(),
self.call_api(params, req, runtime)
)
def activate_office_site(self, request):
"""
If you do not create any cloud computer in a convenience office network within 15 days, the office network is automatically locked and virtual private cloud (VPC) resources are released. If you want to resume the office network, you can call this operation to unlock the office network.
@param request: ActivateOfficeSiteRequest
@return: ActivateOfficeSiteResponse
"""
runtime = util_models.RuntimeOptions()
return self.activate_office_site_with_options(request, runtime)
def add_desktop_oversold_user_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AddDesktopOversoldUserGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AddDesktopOversoldUserGroupResponse(),
self.call_api(params, req, runtime)
)
def add_desktop_oversold_user_group(self, request):
runtime = util_models.RuntimeOptions()
return self.add_desktop_oversold_user_group_with_options(request, runtime)
def add_devices_with_options(self, request, runtime):
"""
You can add only one device to a tenant.
@param request: AddDevicesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: AddDevicesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.device_ids):
query['DeviceIds'] = request.device_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AddDevices',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AddDevicesResponse(),
self.call_api(params, req, runtime)
)
def add_devices(self, request):
"""
You can add only one device to a tenant.
@param request: AddDevicesRequest
@return: AddDevicesResponse
"""
runtime = util_models.RuntimeOptions()
return self.add_devices_with_options(request, runtime)
def add_file_permission_with_options(self, tmp_req, runtime):
"""
You can call this operation to share a specific folder with other users. You can also configure the folder permissions.
@param tmp_req: AddFilePermissionRequest
@param runtime: runtime options for this request RuntimeOptions
@return: AddFilePermissionResponse
"""
UtilClient.validate_model(tmp_req)
request = ecd_20200930_models.AddFilePermissionShrinkRequest()
OpenApiUtilClient.convert(tmp_req, request)
if not UtilClient.is_unset(tmp_req.member_list):
request.member_list_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.member_list, 'MemberList', 'json')
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.member_list_shrink):
query['MemberList'] = request.member_list_shrink
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AddFilePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AddFilePermissionResponse(),
self.call_api(params, req, runtime)
)
def add_file_permission(self, request):
"""
You can call this operation to share a specific folder with other users. You can also configure the folder permissions.
@param request: AddFilePermissionRequest
@return: AddFilePermissionResponse
"""
runtime = util_models.RuntimeOptions()
return self.add_file_permission_with_options(request, runtime)
def add_user_to_desktop_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.client_token):
query['ClientToken'] = request.client_token
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_ids):
query['DesktopGroupIds'] = request.desktop_group_ids
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AddUserToDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AddUserToDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def add_user_to_desktop_group(self, request):
runtime = util_models.RuntimeOptions()
return self.add_user_to_desktop_group_with_options(request, runtime)
def add_user_to_desktop_oversold_user_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.add_user_amount):
query['AddUserAmount'] = request.add_user_amount
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.user_group_id):
query['UserGroupId'] = request.user_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AddUserToDesktopOversoldUserGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AddUserToDesktopOversoldUserGroupResponse(),
self.call_api(params, req, runtime)
)
def add_user_to_desktop_oversold_user_group(self, request):
runtime = util_models.RuntimeOptions()
return self.add_user_to_desktop_oversold_user_group_with_options(request, runtime)
def apply_auto_snapshot_policy_with_options(self, request, runtime):
"""
You can also associate an automatic snapshot policy with a cloud desktop in the Elastic Desktop Service (EDS) console. To do so, perform the following steps: 1. Log on to the EDS console. 2. Choose Desktops and Groups > Desktops in the left-side navigation pane. 3. Find the cloud desktop that you want to manage on the Cloud Desktops page and choose More > Change Automatic Snapshot Policy in the Actions column. 4. Configure a policy for the cloud desktop as prompted in the Change Automatic Snapshot Policy panel.
After you associate an automatic snapshot policy with the cloud desktop, the system creates snapshots for the cloud desktop based on the policy.
@param request: ApplyAutoSnapshotPolicyRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ApplyAutoSnapshotPolicyResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.policy_id):
query['PolicyId'] = request.policy_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ApplyAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ApplyAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def apply_auto_snapshot_policy(self, request):
"""
You can also associate an automatic snapshot policy with a cloud desktop in the Elastic Desktop Service (EDS) console. To do so, perform the following steps: 1. Log on to the EDS console. 2. Choose Desktops and Groups > Desktops in the left-side navigation pane. 3. Find the cloud desktop that you want to manage on the Cloud Desktops page and choose More > Change Automatic Snapshot Policy in the Actions column. 4. Configure a policy for the cloud desktop as prompted in the Change Automatic Snapshot Policy panel.
After you associate an automatic snapshot policy with the cloud desktop, the system creates snapshots for the cloud desktop based on the policy.
@param request: ApplyAutoSnapshotPolicyRequest
@return: ApplyAutoSnapshotPolicyResponse
"""
runtime = util_models.RuntimeOptions()
return self.apply_auto_snapshot_policy_with_options(request, runtime)
def apply_coordinate_privilege_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.co_id):
query['CoId'] = request.co_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
if not UtilClient.is_unset(request.uuid):
query['Uuid'] = request.uuid
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ApplyCoordinatePrivilege',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ApplyCoordinatePrivilegeResponse(),
self.call_api(params, req, runtime)
)
def apply_coordinate_privilege(self, request):
runtime = util_models.RuntimeOptions()
return self.apply_coordinate_privilege_with_options(request, runtime)
def apply_coordination_for_monitoring_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.coordinate_policy_type):
query['CoordinatePolicyType'] = request.coordinate_policy_type
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.initiator_type):
query['InitiatorType'] = request.initiator_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_candidates):
query['ResourceCandidates'] = request.resource_candidates
if not UtilClient.is_unset(request.uuid):
query['Uuid'] = request.uuid
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ApplyCoordinationForMonitoring',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ApplyCoordinationForMonitoringResponse(),
self.call_api(params, req, runtime)
)
def apply_coordination_for_monitoring(self, request):
runtime = util_models.RuntimeOptions()
return self.apply_coordination_for_monitoring_with_options(request, runtime)
def approve_fota_update_with_options(self, request, runtime):
"""
The cloud computers for which you want to allow image updates must be in the Running state.
@param request: ApproveFotaUpdateRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ApproveFotaUpdateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.app_version):
query['AppVersion'] = request.app_version
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ApproveFotaUpdate',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ApproveFotaUpdateResponse(),
self.call_api(params, req, runtime)
)
def approve_fota_update(self, request):
"""
The cloud computers for which you want to allow image updates must be in the Running state.
@param request: ApproveFotaUpdateRequest
@return: ApproveFotaUpdateResponse
"""
runtime = util_models.RuntimeOptions()
return self.approve_fota_update_with_options(request, runtime)
def associate_network_package_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AssociateNetworkPackage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AssociateNetworkPackageResponse(),
self.call_api(params, req, runtime)
)
def associate_network_package(self, request):
runtime = util_models.RuntimeOptions()
return self.associate_network_package_with_options(request, runtime)
def attach_cen_with_options(self, request, runtime):
"""
Prerequisites
* A CEN instance is created.
* The office network is an advanced office network, and the account system type is convenient account.
> The office network is added to the CEN instance when you create the instance. An office network can be added to only one CEN instance.
@param request: AttachCenRequest
@param runtime: runtime options for this request RuntimeOptions
@return: AttachCenResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cen_id):
query['CenId'] = request.cen_id
if not UtilClient.is_unset(request.cen_owner_id):
query['CenOwnerId'] = request.cen_owner_id
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.verify_code):
query['VerifyCode'] = request.verify_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AttachCen',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AttachCenResponse(),
self.call_api(params, req, runtime)
)
def attach_cen(self, request):
"""
Prerequisites
* A CEN instance is created.
* The office network is an advanced office network, and the account system type is convenient account.
> The office network is added to the CEN instance when you create the instance. An office network can be added to only one CEN instance.
@param request: AttachCenRequest
@return: AttachCenResponse
"""
runtime = util_models.RuntimeOptions()
return self.attach_cen_with_options(request, runtime)
def attach_end_user_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_domain):
query['AdDomain'] = request.ad_domain
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.device_id):
query['DeviceId'] = request.device_id
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='AttachEndUser',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.AttachEndUserResponse(),
self.call_api(params, req, runtime)
)
def attach_end_user(self, request):
runtime = util_models.RuntimeOptions()
return self.attach_end_user_with_options(request, runtime)
def cancel_auto_snapshot_policy_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.policy_id):
query['PolicyId'] = request.policy_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CancelAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CancelAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def cancel_auto_snapshot_policy(self, request):
runtime = util_models.RuntimeOptions()
return self.cancel_auto_snapshot_policy_with_options(request, runtime)
def cancel_cds_file_share_link_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.share_id):
query['ShareId'] = request.share_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CancelCdsFileShareLink',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CancelCdsFileShareLinkResponse(),
self.call_api(params, req, runtime)
)
def cancel_cds_file_share_link(self, request):
runtime = util_models.RuntimeOptions()
return self.cancel_cds_file_share_link_with_options(request, runtime)
def cancel_coordination_for_monitoring_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.co_ids):
query['CoIds'] = request.co_ids
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CancelCoordinationForMonitoring',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CancelCoordinationForMonitoringResponse(),
self.call_api(params, req, runtime)
)
def cancel_coordination_for_monitoring(self, request):
runtime = util_models.RuntimeOptions()
return self.cancel_coordination_for_monitoring_with_options(request, runtime)
def cancel_copy_image_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CancelCopyImage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CancelCopyImageResponse(),
self.call_api(params, req, runtime)
)
def cancel_copy_image(self, request):
runtime = util_models.RuntimeOptions()
return self.cancel_copy_image_with_options(request, runtime)
def clone_policy_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ClonePolicyGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ClonePolicyGroupResponse(),
self.call_api(params, req, runtime)
)
def clone_policy_group(self, request):
runtime = util_models.RuntimeOptions()
return self.clone_policy_group_with_options(request, runtime)
def complete_cds_file_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.upload_id):
query['UploadId'] = request.upload_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CompleteCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CompleteCdsFileResponse(),
self.call_api(params, req, runtime)
)
def complete_cds_file(self, request):
runtime = util_models.RuntimeOptions()
return self.complete_cds_file_with_options(request, runtime)
def config_adconnector_trust_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.rds_license_domain):
query['RdsLicenseDomain'] = request.rds_license_domain
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.trust_key):
query['TrustKey'] = request.trust_key
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ConfigADConnectorTrust',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ConfigADConnectorTrustResponse(),
self.call_api(params, req, runtime)
)
def config_adconnector_trust(self, request):
runtime = util_models.RuntimeOptions()
return self.config_adconnector_trust_with_options(request, runtime)
def config_adconnector_user_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.domain_password):
query['DomainPassword'] = request.domain_password
if not UtilClient.is_unset(request.domain_user_name):
query['DomainUserName'] = request.domain_user_name
if not UtilClient.is_unset(request.ouname):
query['OUName'] = request.ouname
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ConfigADConnectorUser',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ConfigADConnectorUserResponse(),
self.call_api(params, req, runtime)
)
def config_adconnector_user(self, request):
runtime = util_models.RuntimeOptions()
return self.config_adconnector_user_with_options(request, runtime)
def copy_cds_file_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_rename):
query['AutoRename'] = request.auto_rename
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.file_receiver_id):
query['FileReceiverId'] = request.file_receiver_id
if not UtilClient.is_unset(request.file_receiver_type):
query['FileReceiverType'] = request.file_receiver_type
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.parent_folder_id):
query['ParentFolderId'] = request.parent_folder_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CopyCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CopyCdsFileResponse(),
self.call_api(params, req, runtime)
)
def copy_cds_file(self, request):
runtime = util_models.RuntimeOptions()
return self.copy_cds_file_with_options(request, runtime)
def copy_image_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.destination_description):
query['DestinationDescription'] = request.destination_description
if not UtilClient.is_unset(request.destination_image_name):
query['DestinationImageName'] = request.destination_image_name
if not UtilClient.is_unset(request.destination_region_id):
query['DestinationRegionId'] = request.destination_region_id
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CopyImage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CopyImageResponse(),
self.call_api(params, req, runtime)
)
def copy_image(self, request):
runtime = util_models.RuntimeOptions()
return self.copy_image_with_options(request, runtime)
def create_adconnector_directory_with_options(self, request, runtime):
"""
An AD directory is used to connect to an enterprise\\"s existing Active Directory and is suitable for large-scale cloud computer deployment. You are charged directory fees when you connect your AD to cloud computers. For more information, see [Billing overview](~~188395~~).
@param request: CreateADConnectorDirectoryRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateADConnectorDirectoryResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_access_type):
query['DesktopAccessType'] = request.desktop_access_type
if not UtilClient.is_unset(request.directory_name):
query['DirectoryName'] = request.directory_name
if not UtilClient.is_unset(request.dns_address):
query['DnsAddress'] = request.dns_address
if not UtilClient.is_unset(request.domain_name):
query['DomainName'] = request.domain_name
if not UtilClient.is_unset(request.domain_password):
query['DomainPassword'] = request.domain_password
if not UtilClient.is_unset(request.domain_user_name):
query['DomainUserName'] = request.domain_user_name
if not UtilClient.is_unset(request.enable_admin_access):
query['EnableAdminAccess'] = request.enable_admin_access
if not UtilClient.is_unset(request.mfa_enabled):
query['MfaEnabled'] = request.mfa_enabled
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.specification):
query['Specification'] = request.specification
if not UtilClient.is_unset(request.sub_domain_dns_address):
query['SubDomainDnsAddress'] = request.sub_domain_dns_address
if not UtilClient.is_unset(request.sub_domain_name):
query['SubDomainName'] = request.sub_domain_name
if not UtilClient.is_unset(request.v_switch_id):
query['VSwitchId'] = request.v_switch_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateADConnectorDirectory',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateADConnectorDirectoryResponse(),
self.call_api(params, req, runtime)
)
def create_adconnector_directory(self, request):
"""
An AD directory is used to connect to an enterprise\\"s existing Active Directory and is suitable for large-scale cloud computer deployment. You are charged directory fees when you connect your AD to cloud computers. For more information, see [Billing overview](~~188395~~).
@param request: CreateADConnectorDirectoryRequest
@return: CreateADConnectorDirectoryResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_adconnector_directory_with_options(request, runtime)
def create_adconnector_office_site_with_options(self, request, runtime):
"""
When you create an enterprise AD office network, the system automatically creates an AD connector to connect to an enterprise AD. You are charged for the AD connector. For more information, see [Billing overview](~~188395~~).
After you call this operation to create an AD office network, you must perform the following steps to complete AD domain setting:
1. Configure a conditional forwarder in a Domain Name System (DNS) server.
2. Configure a trust relationship in an AD domain controller and call the [ConfigADConnectorTrust](~~311258~~) operation to configure the trust relationship with the AD office network.
3. Call the [ListUserAdOrganizationUnits](~~311259~~) operation to query a list of organizational units (OUs) of the AD domain, and call the [ConfigADConnectorUser](~~311262~~) operation to specify an OU and administrator for the AD office network.
> When you create the AD office network, take note of the DomainUserName and DomainPassword parameters. If you specify the parameters, you need to only configure a conditional forwarder. If you do not specify the parameters, you must configure a conditional forwarder, trust relationship, and OU as prompted.
For more information, see [Create and manage enterprise AD office networks](~~214469~~).
@param request: CreateADConnectorOfficeSiteRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateADConnectorOfficeSiteResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_hostname):
query['AdHostname'] = request.ad_hostname
if not UtilClient.is_unset(request.bandwidth):
query['Bandwidth'] = request.bandwidth
if not UtilClient.is_unset(request.cen_id):
query['CenId'] = request.cen_id
if not UtilClient.is_unset(request.cen_owner_id):
query['CenOwnerId'] = request.cen_owner_id
if not UtilClient.is_unset(request.cidr_block):
query['CidrBlock'] = request.cidr_block
if not UtilClient.is_unset(request.desktop_access_type):
query['DesktopAccessType'] = request.desktop_access_type
if not UtilClient.is_unset(request.dns_address):
query['DnsAddress'] = request.dns_address
if not UtilClient.is_unset(request.domain_name):
query['DomainName'] = request.domain_name
if not UtilClient.is_unset(request.domain_password):
query['DomainPassword'] = request.domain_password
if not UtilClient.is_unset(request.domain_user_name):
query['DomainUserName'] = request.domain_user_name
if not UtilClient.is_unset(request.enable_admin_access):
query['EnableAdminAccess'] = request.enable_admin_access
if not UtilClient.is_unset(request.enable_internet_access):
query['EnableInternetAccess'] = request.enable_internet_access
if not UtilClient.is_unset(request.mfa_enabled):
query['MfaEnabled'] = request.mfa_enabled
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.specification):
query['Specification'] = request.specification
if not UtilClient.is_unset(request.sub_domain_dns_address):
query['SubDomainDnsAddress'] = request.sub_domain_dns_address
if not UtilClient.is_unset(request.sub_domain_name):
query['SubDomainName'] = request.sub_domain_name
if not UtilClient.is_unset(request.verify_code):
query['VerifyCode'] = request.verify_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateADConnectorOfficeSite',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateADConnectorOfficeSiteResponse(),
self.call_api(params, req, runtime)
)
def create_adconnector_office_site(self, request):
"""
When you create an enterprise AD office network, the system automatically creates an AD connector to connect to an enterprise AD. You are charged for the AD connector. For more information, see [Billing overview](~~188395~~).
After you call this operation to create an AD office network, you must perform the following steps to complete AD domain setting:
1. Configure a conditional forwarder in a Domain Name System (DNS) server.
2. Configure a trust relationship in an AD domain controller and call the [ConfigADConnectorTrust](~~311258~~) operation to configure the trust relationship with the AD office network.
3. Call the [ListUserAdOrganizationUnits](~~311259~~) operation to query a list of organizational units (OUs) of the AD domain, and call the [ConfigADConnectorUser](~~311262~~) operation to specify an OU and administrator for the AD office network.
> When you create the AD office network, take note of the DomainUserName and DomainPassword parameters. If you specify the parameters, you need to only configure a conditional forwarder. If you do not specify the parameters, you must configure a conditional forwarder, trust relationship, and OU as prompted.
For more information, see [Create and manage enterprise AD office networks](~~214469~~).
@param request: CreateADConnectorOfficeSiteRequest
@return: CreateADConnectorOfficeSiteResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_adconnector_office_site_with_options(request, runtime)
def create_and_bind_nas_file_system_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.encrypt_type):
query['EncryptType'] = request.encrypt_type
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.file_system_name):
query['FileSystemName'] = request.file_system_name
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.storage_type):
query['StorageType'] = request.storage_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateAndBindNasFileSystem',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateAndBindNasFileSystemResponse(),
self.call_api(params, req, runtime)
)
def create_and_bind_nas_file_system(self, request):
runtime = util_models.RuntimeOptions()
return self.create_and_bind_nas_file_system_with_options(request, runtime)
def create_auto_snapshot_policy_with_options(self, request, runtime):
"""
You can call the operation to create an automatic snapshot policy based on a CRON expression. Then, the system automatically creates snapshots of a cloud desktop based on the policy.
@param request: CreateAutoSnapshotPolicyRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateAutoSnapshotPolicyResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cron_expression):
query['CronExpression'] = request.cron_expression
if not UtilClient.is_unset(request.policy_name):
query['PolicyName'] = request.policy_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.retention_days):
query['RetentionDays'] = request.retention_days
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def create_auto_snapshot_policy(self, request):
"""
You can call the operation to create an automatic snapshot policy based on a CRON expression. Then, the system automatically creates snapshots of a cloud desktop based on the policy.
@param request: CreateAutoSnapshotPolicyRequest
@return: CreateAutoSnapshotPolicyResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_auto_snapshot_policy_with_options(request, runtime)
def create_bundle_with_options(self, request, runtime):
"""
Cloud computer templates include system templates and custom templates. A system template is the default template provided by Alibaba Cloud. You can call this operation to create a custom template.
@param request: CreateBundleRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateBundleResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bundle_name):
query['BundleName'] = request.bundle_name
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.desktop_type):
query['DesktopType'] = request.desktop_type
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.language):
query['Language'] = request.language
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.root_disk_performance_level):
query['RootDiskPerformanceLevel'] = request.root_disk_performance_level
if not UtilClient.is_unset(request.root_disk_size_gib):
query['RootDiskSizeGib'] = request.root_disk_size_gib
if not UtilClient.is_unset(request.user_disk_performance_level):
query['UserDiskPerformanceLevel'] = request.user_disk_performance_level
if not UtilClient.is_unset(request.user_disk_size_gib):
query['UserDiskSizeGib'] = request.user_disk_size_gib
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateBundle',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateBundleResponse(),
self.call_api(params, req, runtime)
)
def create_bundle(self, request):
"""
Cloud computer templates include system templates and custom templates. A system template is the default template provided by Alibaba Cloud. You can call this operation to create a custom template.
@param request: CreateBundleRequest
@return: CreateBundleResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_bundle_with_options(request, runtime)
def create_cds_file_with_options(self, request, runtime):
"""
After the RAM permissions are authenticated, you can call the CreateCdsFile operation to obtain the upload URL of a file and upload the file to a cloud disk.
@param request: CreateCdsFileRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateCdsFileResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.conflict_policy):
query['ConflictPolicy'] = request.conflict_policy
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_hash):
query['FileHash'] = request.file_hash
if not UtilClient.is_unset(request.file_length):
query['FileLength'] = request.file_length
if not UtilClient.is_unset(request.file_name):
query['FileName'] = request.file_name
if not UtilClient.is_unset(request.file_type):
query['FileType'] = request.file_type
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.parent_file_id):
query['ParentFileId'] = request.parent_file_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateCdsFileResponse(),
self.call_api(params, req, runtime)
)
def create_cds_file(self, request):
"""
After the RAM permissions are authenticated, you can call the CreateCdsFile operation to obtain the upload URL of a file and upload the file to a cloud disk.
@param request: CreateCdsFileRequest
@return: CreateCdsFileResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_cds_file_with_options(request, runtime)
def create_cds_file_share_link_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.disable_download):
query['DisableDownload'] = request.disable_download
if not UtilClient.is_unset(request.disable_preview):
query['DisablePreview'] = request.disable_preview
if not UtilClient.is_unset(request.disable_save):
query['DisableSave'] = request.disable_save
if not UtilClient.is_unset(request.download_limit):
query['DownloadLimit'] = request.download_limit
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.expiration):
query['Expiration'] = request.expiration
if not UtilClient.is_unset(request.file_ids):
query['FileIds'] = request.file_ids
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.preview_limit):
query['PreviewLimit'] = request.preview_limit
if not UtilClient.is_unset(request.save_limit):
query['SaveLimit'] = request.save_limit
if not UtilClient.is_unset(request.share_name):
query['ShareName'] = request.share_name
if not UtilClient.is_unset(request.share_pwd):
query['SharePwd'] = request.share_pwd
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateCdsFileShareLink',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateCdsFileShareLinkResponse(),
self.call_api(params, req, runtime)
)
def create_cds_file_share_link(self, request):
runtime = util_models.RuntimeOptions()
return self.create_cds_file_share_link_with_options(request, runtime)
def create_cloud_drive_service_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.auto_renew):
query['AutoRenew'] = request.auto_renew
if not UtilClient.is_unset(request.biz_type):
query['BizType'] = request.biz_type
if not UtilClient.is_unset(request.cds_charge_type):
query['CdsChargeType'] = request.cds_charge_type
if not UtilClient.is_unset(request.cen_id):
query['CenId'] = request.cen_id
if not UtilClient.is_unset(request.domain_name):
query['DomainName'] = request.domain_name
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_size):
query['MaxSize'] = request.max_size
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_type):
query['OfficeSiteType'] = request.office_site_type
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.solution_id):
query['SolutionId'] = request.solution_id
if not UtilClient.is_unset(request.user_count):
query['UserCount'] = request.user_count
if not UtilClient.is_unset(request.user_max_size):
query['UserMaxSize'] = request.user_max_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateCloudDriveService',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateCloudDriveServiceResponse(),
self.call_api(params, req, runtime)
)
def create_cloud_drive_service(self, request):
runtime = util_models.RuntimeOptions()
return self.create_cloud_drive_service_with_options(request, runtime)
def create_cloud_drive_users_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_max_size):
query['UserMaxSize'] = request.user_max_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateCloudDriveUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateCloudDriveUsersResponse(),
self.call_api(params, req, runtime)
)
def create_cloud_drive_users(self, request):
runtime = util_models.RuntimeOptions()
return self.create_cloud_drive_users_with_options(request, runtime)
def create_desktop_group_with_options(self, request, runtime):
"""
Before you call this operation to create a desktop group, make sure that the following operations are complete:
* You are familiar with the features, usage limits, and scaling policies of desktop groups. For more information, see [Overview](~~290959~~) of desktop groups.
* Resources, such as workspaces, users, desktop templates, and policies, are created.
@param request: CreateDesktopGroupRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateDesktopGroupResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.all_classify_users):
query['AllClassifyUsers'] = request.all_classify_users
if not UtilClient.is_unset(request.allow_auto_setup):
query['AllowAutoSetup'] = request.allow_auto_setup
if not UtilClient.is_unset(request.allow_buffer_count):
query['AllowBufferCount'] = request.allow_buffer_count
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.auto_renew):
query['AutoRenew'] = request.auto_renew
if not UtilClient.is_unset(request.bind_amount):
query['BindAmount'] = request.bind_amount
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.buy_desktops_count):
query['BuyDesktopsCount'] = request.buy_desktops_count
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.classify):
query['Classify'] = request.classify
if not UtilClient.is_unset(request.client_token):
query['ClientToken'] = request.client_token
if not UtilClient.is_unset(request.comments):
query['Comments'] = request.comments
if not UtilClient.is_unset(request.connect_duration):
query['ConnectDuration'] = request.connect_duration
if not UtilClient.is_unset(request.default_init_desktop_count):
query['DefaultInitDesktopCount'] = request.default_init_desktop_count
if not UtilClient.is_unset(request.desktop_group_name):
query['DesktopGroupName'] = request.desktop_group_name
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.group_version):
query['GroupVersion'] = request.group_version
if not UtilClient.is_unset(request.idle_disconnect_duration):
query['IdleDisconnectDuration'] = request.idle_disconnect_duration
if not UtilClient.is_unset(request.keep_duration):
query['KeepDuration'] = request.keep_duration
if not UtilClient.is_unset(request.load_policy):
query['LoadPolicy'] = request.load_policy
if not UtilClient.is_unset(request.max_desktops_count):
query['MaxDesktopsCount'] = request.max_desktops_count
if not UtilClient.is_unset(request.min_desktops_count):
query['MinDesktopsCount'] = request.min_desktops_count
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.own_type):
query['OwnType'] = request.own_type
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.profile_follow_switch):
query['ProfileFollowSwitch'] = request.profile_follow_switch
if not UtilClient.is_unset(request.ratio_threshold):
query['RatioThreshold'] = request.ratio_threshold
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.reset_type):
query['ResetType'] = request.reset_type
if not UtilClient.is_unset(request.scale_strategy_id):
query['ScaleStrategyId'] = request.scale_strategy_id
if not UtilClient.is_unset(request.stop_duration):
query['StopDuration'] = request.stop_duration
if not UtilClient.is_unset(request.volume_encryption_enabled):
query['VolumeEncryptionEnabled'] = request.volume_encryption_enabled
if not UtilClient.is_unset(request.volume_encryption_key):
query['VolumeEncryptionKey'] = request.volume_encryption_key
if not UtilClient.is_unset(request.vpc_id):
query['VpcId'] = request.vpc_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def create_desktop_group(self, request):
"""
Before you call this operation to create a desktop group, make sure that the following operations are complete:
* You are familiar with the features, usage limits, and scaling policies of desktop groups. For more information, see [Overview](~~290959~~) of desktop groups.
* Resources, such as workspaces, users, desktop templates, and policies, are created.
@param request: CreateDesktopGroupRequest
@return: CreateDesktopGroupResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_desktop_group_with_options(request, runtime)
def create_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.concurrence_count):
query['ConcurrenceCount'] = request.concurrence_count
if not UtilClient.is_unset(request.data_disk_size):
query['DataDiskSize'] = request.data_disk_size
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.desktop_type):
query['DesktopType'] = request.desktop_type
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.idle_disconnect_duration):
query['IdleDisconnectDuration'] = request.idle_disconnect_duration
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.keep_duration):
query['KeepDuration'] = request.keep_duration
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.oversold_user_count):
query['OversoldUserCount'] = request.oversold_user_count
if not UtilClient.is_unset(request.oversold_warn):
query['OversoldWarn'] = request.oversold_warn
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.stop_duration):
query['StopDuration'] = request.stop_duration
if not UtilClient.is_unset(request.system_disk_size):
query['SystemDiskSize'] = request.system_disk_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def create_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.create_desktop_oversold_group_with_options(request, runtime)
def create_desktops_with_options(self, request, runtime):
"""
Before you create cloud computers, complete the following preparations:
* An office network (formerly called workspace) and users are created. For more information, see:
* Convenience office network: [CreateSimpleOfficeSite](~~215416~~) and [CreateUsers](~~437832~~).
* Active Directory (AD) office network: [CreateADConnectorOfficeSite](~~215417~~) and [Create an AD user](~~188619~~).
* Make sure a cloud computer template exists. If no cloud computer template exists, call the [CreateBundle](~~188883~~) operation to create a template.
* Make sure a policy exists. If no policy exists, call the [CreatePolicyGroup](~~188889~~) operation to create a policy.
If you want the cloud computers to automatically execute a custom command script, you can use the `UserCommands` field to configure a custom command.
@param request: CreateDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.amount):
query['Amount'] = request.amount
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.auto_renew):
query['AutoRenew'] = request.auto_renew
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.bundle_models):
query['BundleModels'] = request.bundle_models
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.desktop_member_ip):
query['DesktopMemberIp'] = request.desktop_member_ip
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.desktop_name_suffix):
query['DesktopNameSuffix'] = request.desktop_name_suffix
if not UtilClient.is_unset(request.desktop_timers):
query['DesktopTimers'] = request.desktop_timers
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.hostname):
query['Hostname'] = request.hostname
if not UtilClient.is_unset(request.month_desktop_setting):
query['MonthDesktopSetting'] = request.month_desktop_setting
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.tag):
query['Tag'] = request.tag
if not UtilClient.is_unset(request.user_assign_mode):
query['UserAssignMode'] = request.user_assign_mode
if not UtilClient.is_unset(request.user_commands):
query['UserCommands'] = request.user_commands
if not UtilClient.is_unset(request.user_name):
query['UserName'] = request.user_name
if not UtilClient.is_unset(request.volume_encryption_enabled):
query['VolumeEncryptionEnabled'] = request.volume_encryption_enabled
if not UtilClient.is_unset(request.volume_encryption_key):
query['VolumeEncryptionKey'] = request.volume_encryption_key
if not UtilClient.is_unset(request.vpc_id):
query['VpcId'] = request.vpc_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateDesktopsResponse(),
self.call_api(params, req, runtime)
)
def create_desktops(self, request):
"""
Before you create cloud computers, complete the following preparations:
* An office network (formerly called workspace) and users are created. For more information, see:
* Convenience office network: [CreateSimpleOfficeSite](~~215416~~) and [CreateUsers](~~437832~~).
* Active Directory (AD) office network: [CreateADConnectorOfficeSite](~~215417~~) and [Create an AD user](~~188619~~).
* Make sure a cloud computer template exists. If no cloud computer template exists, call the [CreateBundle](~~188883~~) operation to create a template.
* Make sure a policy exists. If no policy exists, call the [CreatePolicyGroup](~~188889~~) operation to create a policy.
If you want the cloud computers to automatically execute a custom command script, you can use the `UserCommands` field to configure a custom command.
@param request: CreateDesktopsRequest
@return: CreateDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_desktops_with_options(request, runtime)
def create_disk_encryption_service_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateDiskEncryptionService',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateDiskEncryptionServiceResponse(),
self.call_api(params, req, runtime)
)
def create_disk_encryption_service(self, request):
runtime = util_models.RuntimeOptions()
return self.create_disk_encryption_service_with_options(request, runtime)
def create_image_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_clean_userdata):
query['AutoCleanUserdata'] = request.auto_clean_userdata
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.disk_type):
query['DiskType'] = request.disk_type
if not UtilClient.is_unset(request.image_name):
query['ImageName'] = request.image_name
if not UtilClient.is_unset(request.image_resource_type):
query['ImageResourceType'] = request.image_resource_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_id):
query['SnapshotId'] = request.snapshot_id
if not UtilClient.is_unset(request.snapshot_ids):
query['SnapshotIds'] = request.snapshot_ids
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateImage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateImageResponse(),
self.call_api(params, req, runtime)
)
def create_image(self, request):
runtime = util_models.RuntimeOptions()
return self.create_image_with_options(request, runtime)
def create_nasfile_system_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.encrypt_type):
query['EncryptType'] = request.encrypt_type
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.storage_type):
query['StorageType'] = request.storage_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateNASFileSystem',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateNASFileSystemResponse(),
self.call_api(params, req, runtime)
)
def create_nasfile_system(self, request):
runtime = util_models.RuntimeOptions()
return self.create_nasfile_system_with_options(request, runtime)
def create_network_package_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.auto_renew):
query['AutoRenew'] = request.auto_renew
if not UtilClient.is_unset(request.bandwidth):
query['Bandwidth'] = request.bandwidth
if not UtilClient.is_unset(request.internet_charge_type):
query['InternetChargeType'] = request.internet_charge_type
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.pay_type):
query['PayType'] = request.pay_type
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateNetworkPackage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateNetworkPackageResponse(),
self.call_api(params, req, runtime)
)
def create_network_package(self, request):
runtime = util_models.RuntimeOptions()
return self.create_network_package_with_options(request, runtime)
def create_policy_group_with_options(self, request, runtime):
"""
A policy is a set of security rules that are used to control security configurations when end users use cloud desktops. A policy contains basic features, such as USB redirection and watermarking, and other features, such as security group control. For more information, see [Policy overview](~~189345~~).
@param request: CreatePolicyGroupRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreatePolicyGroupResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.admin_access):
query['AdminAccess'] = request.admin_access
if not UtilClient.is_unset(request.app_content_protection):
query['AppContentProtection'] = request.app_content_protection
if not UtilClient.is_unset(request.authorize_access_policy_rule):
query['AuthorizeAccessPolicyRule'] = request.authorize_access_policy_rule
if not UtilClient.is_unset(request.authorize_security_policy_rule):
query['AuthorizeSecurityPolicyRule'] = request.authorize_security_policy_rule
if not UtilClient.is_unset(request.camera_redirect):
query['CameraRedirect'] = request.camera_redirect
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.clipboard):
query['Clipboard'] = request.clipboard
if not UtilClient.is_unset(request.domain_list):
query['DomainList'] = request.domain_list
if not UtilClient.is_unset(request.domain_resolve_rule):
query['DomainResolveRule'] = request.domain_resolve_rule
if not UtilClient.is_unset(request.domain_resolve_rule_type):
query['DomainResolveRuleType'] = request.domain_resolve_rule_type
if not UtilClient.is_unset(request.end_user_apply_admin_coordinate):
query['EndUserApplyAdminCoordinate'] = request.end_user_apply_admin_coordinate
if not UtilClient.is_unset(request.end_user_group_coordinate):
query['EndUserGroupCoordinate'] = request.end_user_group_coordinate
if not UtilClient.is_unset(request.gpu_acceleration):
query['GpuAcceleration'] = request.gpu_acceleration
if not UtilClient.is_unset(request.html_5access):
query['Html5Access'] = request.html_5access
if not UtilClient.is_unset(request.html_5file_transfer):
query['Html5FileTransfer'] = request.html_5file_transfer
if not UtilClient.is_unset(request.internet_communication_protocol):
query['InternetCommunicationProtocol'] = request.internet_communication_protocol
if not UtilClient.is_unset(request.local_drive):
query['LocalDrive'] = request.local_drive
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.net_redirect):
query['NetRedirect'] = request.net_redirect
if not UtilClient.is_unset(request.preempt_login):
query['PreemptLogin'] = request.preempt_login
if not UtilClient.is_unset(request.preempt_login_user):
query['PreemptLoginUser'] = request.preempt_login_user
if not UtilClient.is_unset(request.printer_redirection):
query['PrinterRedirection'] = request.printer_redirection
if not UtilClient.is_unset(request.record_content):
query['RecordContent'] = request.record_content
if not UtilClient.is_unset(request.record_content_expires):
query['RecordContentExpires'] = request.record_content_expires
if not UtilClient.is_unset(request.recording):
query['Recording'] = request.recording
if not UtilClient.is_unset(request.recording_audio):
query['RecordingAudio'] = request.recording_audio
if not UtilClient.is_unset(request.recording_duration):
query['RecordingDuration'] = request.recording_duration
if not UtilClient.is_unset(request.recording_end_time):
query['RecordingEndTime'] = request.recording_end_time
if not UtilClient.is_unset(request.recording_expires):
query['RecordingExpires'] = request.recording_expires
if not UtilClient.is_unset(request.recording_fps):
query['RecordingFps'] = request.recording_fps
if not UtilClient.is_unset(request.recording_start_time):
query['RecordingStartTime'] = request.recording_start_time
if not UtilClient.is_unset(request.recording_user_notify):
query['RecordingUserNotify'] = request.recording_user_notify
if not UtilClient.is_unset(request.recording_user_notify_message):
query['RecordingUserNotifyMessage'] = request.recording_user_notify_message
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.remote_coordinate):
query['RemoteCoordinate'] = request.remote_coordinate
if not UtilClient.is_unset(request.scope):
query['Scope'] = request.scope
if not UtilClient.is_unset(request.scope_value):
query['ScopeValue'] = request.scope_value
if not UtilClient.is_unset(request.usb_redirect):
query['UsbRedirect'] = request.usb_redirect
if not UtilClient.is_unset(request.usb_supply_redirect_rule):
query['UsbSupplyRedirectRule'] = request.usb_supply_redirect_rule
if not UtilClient.is_unset(request.video_redirect):
query['VideoRedirect'] = request.video_redirect
if not UtilClient.is_unset(request.visual_quality):
query['VisualQuality'] = request.visual_quality
if not UtilClient.is_unset(request.watermark):
query['Watermark'] = request.watermark
if not UtilClient.is_unset(request.watermark_anti_cam):
query['WatermarkAntiCam'] = request.watermark_anti_cam
if not UtilClient.is_unset(request.watermark_color):
query['WatermarkColor'] = request.watermark_color
if not UtilClient.is_unset(request.watermark_degree):
query['WatermarkDegree'] = request.watermark_degree
if not UtilClient.is_unset(request.watermark_font_size):
query['WatermarkFontSize'] = request.watermark_font_size
if not UtilClient.is_unset(request.watermark_font_style):
query['WatermarkFontStyle'] = request.watermark_font_style
if not UtilClient.is_unset(request.watermark_power):
query['WatermarkPower'] = request.watermark_power
if not UtilClient.is_unset(request.watermark_row_amount):
query['WatermarkRowAmount'] = request.watermark_row_amount
if not UtilClient.is_unset(request.watermark_security):
query['WatermarkSecurity'] = request.watermark_security
if not UtilClient.is_unset(request.watermark_transparency):
query['WatermarkTransparency'] = request.watermark_transparency
if not UtilClient.is_unset(request.watermark_transparency_value):
query['WatermarkTransparencyValue'] = request.watermark_transparency_value
if not UtilClient.is_unset(request.watermark_type):
query['WatermarkType'] = request.watermark_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreatePolicyGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreatePolicyGroupResponse(),
self.call_api(params, req, runtime)
)
def create_policy_group(self, request):
"""
A policy is a set of security rules that are used to control security configurations when end users use cloud desktops. A policy contains basic features, such as USB redirection and watermarking, and other features, such as security group control. For more information, see [Policy overview](~~189345~~).
@param request: CreatePolicyGroupRequest
@return: CreatePolicyGroupResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_policy_group_with_options(request, runtime)
def create_ramdirectory_with_options(self, request, runtime):
"""
Before you create a RAM directory, complete the following preparations:
* Call the `CreateVpc` operation to create a virtual private cloud (VPC) in a region supported by WUYING Workspace.
* Call the `CreateVSwitch` operation to create a vSwitch in the VPC. The vSwitch is in a zone that is supported by WUYING Workspace. You can call the [DescribeZones](~~196648~~) operation to obtain the most recent zone list for a region supported by WUYING Workspace.
@param request: CreateRAMDirectoryRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateRAMDirectoryResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_access_type):
query['DesktopAccessType'] = request.desktop_access_type
if not UtilClient.is_unset(request.directory_name):
query['DirectoryName'] = request.directory_name
if not UtilClient.is_unset(request.enable_admin_access):
query['EnableAdminAccess'] = request.enable_admin_access
if not UtilClient.is_unset(request.enable_internet_access):
query['EnableInternetAccess'] = request.enable_internet_access
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.v_switch_id):
query['VSwitchId'] = request.v_switch_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateRAMDirectory',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateRAMDirectoryResponse(),
self.call_api(params, req, runtime)
)
def create_ramdirectory(self, request):
"""
Before you create a RAM directory, complete the following preparations:
* Call the `CreateVpc` operation to create a virtual private cloud (VPC) in a region supported by WUYING Workspace.
* Call the `CreateVSwitch` operation to create a vSwitch in the VPC. The vSwitch is in a zone that is supported by WUYING Workspace. You can call the [DescribeZones](~~196648~~) operation to obtain the most recent zone list for a region supported by WUYING Workspace.
@param request: CreateRAMDirectoryRequest
@return: CreateRAMDirectoryResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_ramdirectory_with_options(request, runtime)
def create_simple_office_site_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bandwidth):
query['Bandwidth'] = request.bandwidth
if not UtilClient.is_unset(request.cen_id):
query['CenId'] = request.cen_id
if not UtilClient.is_unset(request.cen_owner_id):
query['CenOwnerId'] = request.cen_owner_id
if not UtilClient.is_unset(request.cidr_block):
query['CidrBlock'] = request.cidr_block
if not UtilClient.is_unset(request.cloud_box_office_site):
query['CloudBoxOfficeSite'] = request.cloud_box_office_site
if not UtilClient.is_unset(request.desktop_access_type):
query['DesktopAccessType'] = request.desktop_access_type
if not UtilClient.is_unset(request.enable_admin_access):
query['EnableAdminAccess'] = request.enable_admin_access
if not UtilClient.is_unset(request.enable_internet_access):
query['EnableInternetAccess'] = request.enable_internet_access
if not UtilClient.is_unset(request.need_verify_zero_device):
query['NeedVerifyZeroDevice'] = request.need_verify_zero_device
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.v_switch_id):
query['VSwitchId'] = request.v_switch_id
if not UtilClient.is_unset(request.verify_code):
query['VerifyCode'] = request.verify_code
if not UtilClient.is_unset(request.vpc_type):
query['VpcType'] = request.vpc_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateSimpleOfficeSite',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateSimpleOfficeSiteResponse(),
self.call_api(params, req, runtime)
)
def create_simple_office_site(self, request):
runtime = util_models.RuntimeOptions()
return self.create_simple_office_site_with_options(request, runtime)
def create_snapshot_with_options(self, request, runtime):
"""
The cloud computer must be in the *Running** or **Stopped** state.
@param request: CreateSnapshotRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateSnapshotResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_name):
query['SnapshotName'] = request.snapshot_name
if not UtilClient.is_unset(request.source_disk_type):
query['SourceDiskType'] = request.source_disk_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateSnapshot',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.CreateSnapshotResponse(),
self.call_api(params, req, runtime)
)
def create_snapshot(self, request):
"""
The cloud computer must be in the *Running** or **Stopped** state.
@param request: CreateSnapshotRequest
@return: CreateSnapshotResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_snapshot_with_options(request, runtime)
def delete_auto_snapshot_policy_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.policy_id):
query['PolicyId'] = request.policy_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def delete_auto_snapshot_policy(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_auto_snapshot_policy_with_options(request, runtime)
def delete_bundles_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteBundles',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteBundlesResponse(),
self.call_api(params, req, runtime)
)
def delete_bundles(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_bundles_with_options(request, runtime)
def delete_cds_file_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteCdsFileResponse(),
self.call_api(params, req, runtime)
)
def delete_cds_file(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_cds_file_with_options(request, runtime)
def delete_cloud_drive_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteCloudDriveGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteCloudDriveGroupsResponse(),
self.call_api(params, req, runtime)
)
def delete_cloud_drive_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_cloud_drive_groups_with_options(request, runtime)
def delete_cloud_drive_users_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteCloudDriveUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteCloudDriveUsersResponse(),
self.call_api(params, req, runtime)
)
def delete_cloud_drive_users(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_cloud_drive_users_with_options(request, runtime)
def delete_desktop_group_with_options(self, request, runtime):
"""
Before you delete a desktop group, make sure that cloud desktops in the desktop group are not connected and no users are authorized to use the cloud desktops.
* You cannot delete a subscription desktop group when cloud desktops in the group are in valid period.
* If you delete a pay-as-you-go desktop group, cloud desktops in the group are deleted.
@param request: DeleteDesktopGroupRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteDesktopGroupResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def delete_desktop_group(self, request):
"""
Before you delete a desktop group, make sure that cloud desktops in the desktop group are not connected and no users are authorized to use the cloud desktops.
* You cannot delete a subscription desktop group when cloud desktops in the group are in valid period.
* If you delete a pay-as-you-go desktop group, cloud desktops in the group are deleted.
@param request: DeleteDesktopGroupRequest
@return: DeleteDesktopGroupResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_desktop_group_with_options(request, runtime)
def delete_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteDesktopsResponse(),
self.call_api(params, req, runtime)
)
def delete_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_desktops_with_options(request, runtime)
def delete_devices_with_options(self, request, runtime):
"""
You can call the operation to manage client devices.
@param request: DeleteDevicesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteDevicesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.device_ids):
query['DeviceIds'] = request.device_ids
if not UtilClient.is_unset(request.force):
query['Force'] = request.force
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteDevices',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteDevicesResponse(),
self.call_api(params, req, runtime)
)
def delete_devices(self, request):
"""
You can call the operation to manage client devices.
@param request: DeleteDevicesRequest
@return: DeleteDevicesResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_devices_with_options(request, runtime)
def delete_directories_with_options(self, request, runtime):
"""
You cannot delete a directory that has a cloud computer or is used by a cloud computer.
@param request: DeleteDirectoriesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteDirectoriesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteDirectories',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteDirectoriesResponse(),
self.call_api(params, req, runtime)
)
def delete_directories(self, request):
"""
You cannot delete a directory that has a cloud computer or is used by a cloud computer.
@param request: DeleteDirectoriesRequest
@return: DeleteDirectoriesResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_directories_with_options(request, runtime)
def delete_edu_room_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.edu_room_id):
query['EduRoomId'] = request.edu_room_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteEduRoom',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteEduRoomResponse(),
self.call_api(params, req, runtime)
)
def delete_edu_room(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_edu_room_with_options(request, runtime)
def delete_images_with_options(self, request, runtime):
"""
Images include system images and custom images. System images cannot be deleted.
* If an image that you want to delete is referenced by a cloud computer template, call the [DeleteBundles](~~436972~~) operation to delete the cloud computer template before you delete the image.
@param request: DeleteImagesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteImagesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.delete_cascaded_bundle):
query['DeleteCascadedBundle'] = request.delete_cascaded_bundle
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteImages',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteImagesResponse(),
self.call_api(params, req, runtime)
)
def delete_images(self, request):
"""
Images include system images and custom images. System images cannot be deleted.
* If an image that you want to delete is referenced by a cloud computer template, call the [DeleteBundles](~~436972~~) operation to delete the cloud computer template before you delete the image.
@param request: DeleteImagesRequest
@return: DeleteImagesResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_images_with_options(request, runtime)
def delete_nasfile_systems_with_options(self, request, runtime):
"""
Before you delete an Apsara File Storage NAS (NAS) file system, make sure that the data you want to retain is backed up.
><warning>If a NAS file system is deleted, data stored in the NAS file system cannot be restored. Proceed with caution when you delete NAS file systems.></warning>
@param request: DeleteNASFileSystemsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteNASFileSystemsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteNASFileSystems',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteNASFileSystemsResponse(),
self.call_api(params, req, runtime)
)
def delete_nasfile_systems(self, request):
"""
Before you delete an Apsara File Storage NAS (NAS) file system, make sure that the data you want to retain is backed up.
><warning>If a NAS file system is deleted, data stored in the NAS file system cannot be restored. Proceed with caution when you delete NAS file systems.></warning>
@param request: DeleteNASFileSystemsRequest
@return: DeleteNASFileSystemsResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_nasfile_systems_with_options(request, runtime)
def delete_network_packages_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteNetworkPackages',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteNetworkPackagesResponse(),
self.call_api(params, req, runtime)
)
def delete_network_packages(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_network_packages_with_options(request, runtime)
def delete_office_sites_with_options(self, request, runtime):
"""
Before you delete an office network, make sure that the following operations are complete:
* All cloud computers in the office network are released.
* The data that you want to retain is backed up.
> Resources and data on cloud computers in an office network cannot be restored after you delete it. Proceed with caution.
@param request: DeleteOfficeSitesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteOfficeSitesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteOfficeSites',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteOfficeSitesResponse(),
self.call_api(params, req, runtime)
)
def delete_office_sites(self, request):
"""
Before you delete an office network, make sure that the following operations are complete:
* All cloud computers in the office network are released.
* The data that you want to retain is backed up.
> Resources and data on cloud computers in an office network cannot be restored after you delete it. Proceed with caution.
@param request: DeleteOfficeSitesRequest
@return: DeleteOfficeSitesResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_office_sites_with_options(request, runtime)
def delete_policy_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeletePolicyGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeletePolicyGroupsResponse(),
self.call_api(params, req, runtime)
)
def delete_policy_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.delete_policy_groups_with_options(request, runtime)
def delete_snapshot_with_options(self, request, runtime):
"""
If the IDs of the snapshots that you specify do not exist, requests are ignored.
@param request: DeleteSnapshotRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteSnapshotResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_id):
query['SnapshotId'] = request.snapshot_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteSnapshot',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteSnapshotResponse(),
self.call_api(params, req, runtime)
)
def delete_snapshot(self, request):
"""
If the IDs of the snapshots that you specify do not exist, requests are ignored.
@param request: DeleteSnapshotRequest
@return: DeleteSnapshotResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_snapshot_with_options(request, runtime)
def delete_virtual_mfadevice_with_options(self, request, runtime):
"""
If an MFA device is deleted, the device is unbound, reset, and disabled. When an Active Directory (AD) user wants to connect to the cloud desktop that is bound to the MFA device, the AD user must bind a new MFA device.
@param request: DeleteVirtualMFADeviceRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteVirtualMFADeviceResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.serial_number):
query['SerialNumber'] = request.serial_number
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteVirtualMFADevice',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DeleteVirtualMFADeviceResponse(),
self.call_api(params, req, runtime)
)
def delete_virtual_mfadevice(self, request):
"""
If an MFA device is deleted, the device is unbound, reset, and disabled. When an Active Directory (AD) user wants to connect to the cloud desktop that is bound to the MFA device, the AD user must bind a new MFA device.
@param request: DeleteVirtualMFADeviceRequest
@return: DeleteVirtualMFADeviceResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_virtual_mfadevice_with_options(request, runtime)
def describe_acl_entries_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.source_id):
query['SourceId'] = request.source_id
if not UtilClient.is_unset(request.source_type):
query['SourceType'] = request.source_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeAclEntries',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeAclEntriesResponse(),
self.call_api(params, req, runtime)
)
def describe_acl_entries(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_acl_entries_with_options(request, runtime)
def describe_auto_snapshot_policy_with_options(self, request, runtime):
"""
You can view an automatic snapshot policy that is associated with a cloud desktop in the Elastic Desktop Service (EDS) console. To view the automatic snapshot policy, you can go to the EDS console, choose Deployment > Snapshots in the left-side navigation pane, and then view an automatic snapshot policy on the Snapshots page.
@param request: DescribeAutoSnapshotPolicyRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeAutoSnapshotPolicyResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.policy_id):
query['PolicyId'] = request.policy_id
if not UtilClient.is_unset(request.policy_name):
query['PolicyName'] = request.policy_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def describe_auto_snapshot_policy(self, request):
"""
You can view an automatic snapshot policy that is associated with a cloud desktop in the Elastic Desktop Service (EDS) console. To view the automatic snapshot policy, you can go to the EDS console, choose Deployment > Snapshots in the left-side navigation pane, and then view an automatic snapshot policy on the Snapshots page.
@param request: DescribeAutoSnapshotPolicyRequest
@return: DescribeAutoSnapshotPolicyResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_auto_snapshot_policy_with_options(request, runtime)
def describe_bundles_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.bundle_type):
query['BundleType'] = request.bundle_type
if not UtilClient.is_unset(request.check_stock):
query['CheckStock'] = request.check_stock
if not UtilClient.is_unset(request.cpu_count):
query['CpuCount'] = request.cpu_count
if not UtilClient.is_unset(request.desktop_type_family):
query['DesktopTypeFamily'] = request.desktop_type_family
if not UtilClient.is_unset(request.fota_channel):
query['FotaChannel'] = request.fota_channel
if not UtilClient.is_unset(request.from_desktop_group):
query['FromDesktopGroup'] = request.from_desktop_group
if not UtilClient.is_unset(request.gpu_count):
query['GpuCount'] = request.gpu_count
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.memory_size):
query['MemorySize'] = request.memory_size
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.os_type):
query['OsType'] = request.os_type
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.scope):
query['Scope'] = request.scope
if not UtilClient.is_unset(request.selected_bundle):
query['SelectedBundle'] = request.selected_bundle
if not UtilClient.is_unset(request.session_type):
query['SessionType'] = request.session_type
if not UtilClient.is_unset(request.support_multi_session):
query['SupportMultiSession'] = request.support_multi_session
if not UtilClient.is_unset(request.volume_encryption_enabled):
query['VolumeEncryptionEnabled'] = request.volume_encryption_enabled
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeBundles',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeBundlesResponse(),
self.call_api(params, req, runtime)
)
def describe_bundles(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_bundles_with_options(request, runtime)
def describe_cds_file_share_links_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.creators):
query['Creators'] = request.creators
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.share_id):
query['ShareId'] = request.share_id
if not UtilClient.is_unset(request.share_name):
query['ShareName'] = request.share_name
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCdsFileShareLinks',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCdsFileShareLinksResponse(),
self.call_api(params, req, runtime)
)
def describe_cds_file_share_links(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_cds_file_share_links_with_options(request, runtime)
def describe_cens_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.page_number):
query['PageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['PageSize'] = request.page_size
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCens',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCensResponse(),
self.call_api(params, req, runtime)
)
def describe_cens(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_cens_with_options(request, runtime)
def describe_client_events_with_options(self, request, runtime):
"""
You can audit the operation logs of regular users to improve security. The operation logs record events such as desktop startup, shutdown, and session disconnection.
@param request: DescribeClientEventsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeClientEventsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_ip):
query['DesktopIp'] = request.desktop_ip
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.event_type):
query['EventType'] = request.event_type
if not UtilClient.is_unset(request.event_types):
query['EventTypes'] = request.event_types
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeClientEvents',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeClientEventsResponse(),
self.call_api(params, req, runtime)
)
def describe_client_events(self, request):
"""
You can audit the operation logs of regular users to improve security. The operation logs record events such as desktop startup, shutdown, and session disconnection.
@param request: DescribeClientEventsRequest
@return: DescribeClientEventsResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_client_events_with_options(request, runtime)
def describe_cloud_drive_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.directory_name):
query['DirectoryName'] = request.directory_name
if not UtilClient.is_unset(request.drive_status):
query['DriveStatus'] = request.drive_status
if not UtilClient.is_unset(request.drive_type):
query['DriveType'] = request.drive_type
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.group_name):
query['GroupName'] = request.group_name
if not UtilClient.is_unset(request.group_type):
query['GroupType'] = request.group_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.parent_group_id):
query['ParentGroupId'] = request.parent_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCloudDriveGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCloudDriveGroupsResponse(),
self.call_api(params, req, runtime)
)
def describe_cloud_drive_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_cloud_drive_groups_with_options(request, runtime)
def describe_cloud_drive_permissions_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCloudDrivePermissions',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCloudDrivePermissionsResponse(),
self.call_api(params, req, runtime)
)
def describe_cloud_drive_permissions(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_cloud_drive_permissions_with_options(request, runtime)
def describe_cloud_drive_users_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCloudDriveUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCloudDriveUsersResponse(),
self.call_api(params, req, runtime)
)
def describe_cloud_drive_users(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_cloud_drive_users_with_options(request, runtime)
def describe_customized_list_headers_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.lang_type):
query['LangType'] = request.lang_type
if not UtilClient.is_unset(request.list_type):
query['ListType'] = request.list_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeCustomizedListHeaders',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeCustomizedListHeadersResponse(),
self.call_api(params, req, runtime)
)
def describe_customized_list_headers(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_customized_list_headers_with_options(request, runtime)
def describe_desktop_group_sessions_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.own_type):
query['OwnType'] = request.own_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.session_status):
query['SessionStatus'] = request.session_status
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopGroupSessions',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopGroupSessionsResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_group_sessions(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_group_sessions_with_options(request, runtime)
def describe_desktop_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_name):
query['DesktopGroupName'] = request.desktop_group_name
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.excluded_end_user_ids):
query['ExcludedEndUserIds'] = request.excluded_end_user_ids
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.own_type):
query['OwnType'] = request.own_type
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopGroupsResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_groups_with_options(request, runtime)
def describe_desktop_info_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopInfo',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopInfoResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_info(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_info_with_options(request, runtime)
def describe_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oversold_group_ids):
query['OversoldGroupIds'] = request.oversold_group_ids
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_oversold_group_with_options(request, runtime)
def describe_desktop_oversold_user_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.client_token):
query['ClientToken'] = request.client_token
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.user_desktop_ids):
query['UserDesktopIds'] = request.user_desktop_ids
if not UtilClient.is_unset(request.user_group_id):
query['UserGroupId'] = request.user_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopOversoldUser',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopOversoldUserResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_oversold_user(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_oversold_user_with_options(request, runtime)
def describe_desktop_oversold_user_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.user_group_ids):
query['UserGroupIds'] = request.user_group_ids
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopOversoldUserGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopOversoldUserGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_oversold_user_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktop_oversold_user_group_with_options(request, runtime)
def describe_desktop_sessions_with_options(self, request, runtime):
"""
You can query data within the last 30 days.
@param request: DescribeDesktopSessionsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeDesktopSessionsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.page_number):
query['PageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['PageSize'] = request.page_size
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.session_status):
query['SessionStatus'] = request.session_status
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopSessions',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopSessionsResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_sessions(self, request):
"""
You can query data within the last 30 days.
@param request: DescribeDesktopSessionsRequest
@return: DescribeDesktopSessionsResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_desktop_sessions_with_options(request, runtime)
def describe_desktop_types_with_options(self, request, runtime):
"""
When no values are specified for the `InstanceTypeFamily` and `DesktopTypeId` parameters for a cloud desktop, all types of cloud desktops are queried.
@param request: DescribeDesktopTypesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeDesktopTypesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.applied_scope):
query['AppliedScope'] = request.applied_scope
if not UtilClient.is_unset(request.cpu_count):
query['CpuCount'] = request.cpu_count
if not UtilClient.is_unset(request.desktop_group_id_for_modify):
query['DesktopGroupIdForModify'] = request.desktop_group_id_for_modify
if not UtilClient.is_unset(request.desktop_id_for_modify):
query['DesktopIdForModify'] = request.desktop_id_for_modify
if not UtilClient.is_unset(request.desktop_type_id):
query['DesktopTypeId'] = request.desktop_type_id
if not UtilClient.is_unset(request.gpu_count):
query['GpuCount'] = request.gpu_count
if not UtilClient.is_unset(request.instance_type_family):
query['InstanceTypeFamily'] = request.instance_type_family
if not UtilClient.is_unset(request.memory_size):
query['MemorySize'] = request.memory_size
if not UtilClient.is_unset(request.order_type):
query['OrderType'] = request.order_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopTypes',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopTypesResponse(),
self.call_api(params, req, runtime)
)
def describe_desktop_types(self, request):
"""
When no values are specified for the `InstanceTypeFamily` and `DesktopTypeId` parameters for a cloud desktop, all types of cloud desktops are queried.
@param request: DescribeDesktopTypesRequest
@return: DescribeDesktopTypesResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_desktop_types_with_options(request, runtime)
def describe_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.desktop_status):
query['DesktopStatus'] = request.desktop_status
if not UtilClient.is_unset(request.desktop_status_list):
query['DesktopStatusList'] = request.desktop_status_list
if not UtilClient.is_unset(request.desktop_type):
query['DesktopType'] = request.desktop_type
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.excluded_end_user_id):
query['ExcludedEndUserId'] = request.excluded_end_user_id
if not UtilClient.is_unset(request.expired_time):
query['ExpiredTime'] = request.expired_time
if not UtilClient.is_unset(request.filter_desktop_group):
query['FilterDesktopGroup'] = request.filter_desktop_group
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.management_flag):
query['ManagementFlag'] = request.management_flag
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.only_desktop_group):
query['OnlyDesktopGroup'] = request.only_desktop_group
if not UtilClient.is_unset(request.os_types):
query['OsTypes'] = request.os_types
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.query_fota_update):
query['QueryFotaUpdate'] = request.query_fota_update
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_policy_id):
query['SnapshotPolicyId'] = request.snapshot_policy_id
if not UtilClient.is_unset(request.tag):
query['Tag'] = request.tag
if not UtilClient.is_unset(request.user_name):
query['UserName'] = request.user_name
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopsResponse(),
self.call_api(params, req, runtime)
)
def describe_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktops_with_options(request, runtime)
def describe_desktops_in_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.ignore_deleted):
query['IgnoreDeleted'] = request.ignore_deleted
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.pay_type):
query['PayType'] = request.pay_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDesktopsInGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDesktopsInGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_desktops_in_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_desktops_in_group_with_options(request, runtime)
def describe_devices_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_domain):
query['AdDomain'] = request.ad_domain
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.device_id):
query['DeviceId'] = request.device_id
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.page_number):
query['PageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['PageSize'] = request.page_size
if not UtilClient.is_unset(request.region):
query['Region'] = request.region
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDevices',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDevicesResponse(),
self.call_api(params, req, runtime)
)
def describe_devices(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_devices_with_options(request, runtime)
def describe_directories_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.directory_status):
query['DirectoryStatus'] = request.directory_status
if not UtilClient.is_unset(request.directory_type):
query['DirectoryType'] = request.directory_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDirectories',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeDirectoriesResponse(),
self.call_api(params, req, runtime)
)
def describe_directories(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_directories_with_options(request, runtime)
def describe_flow_metric_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.instance_type):
query['InstanceType'] = request.instance_type
if not UtilClient.is_unset(request.metric_type):
query['MetricType'] = request.metric_type
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeFlowMetric',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeFlowMetricResponse(),
self.call_api(params, req, runtime)
)
def describe_flow_metric(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_flow_metric_with_options(request, runtime)
def describe_flow_statistic_with_options(self, request, runtime):
"""
> You can query only the traffic data in the last 90 days.
@param request: DescribeFlowStatisticRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeFlowStatisticResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.page_number):
query['PageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['PageSize'] = request.page_size
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeFlowStatistic',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeFlowStatisticResponse(),
self.call_api(params, req, runtime)
)
def describe_flow_statistic(self, request):
"""
> You can query only the traffic data in the last 90 days.
@param request: DescribeFlowStatisticRequest
@return: DescribeFlowStatisticResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_flow_statistic_with_options(request, runtime)
def describe_fota_pending_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = OpenApiUtilClient.query(UtilClient.to_map(request))
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeFotaPendingDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='GET',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeFotaPendingDesktopsResponse(),
self.call_api(params, req, runtime)
)
def describe_fota_pending_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_fota_pending_desktops_with_options(request, runtime)
def describe_fota_tasks_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.fota_status):
query['FotaStatus'] = request.fota_status
if not UtilClient.is_unset(request.lang):
query['Lang'] = request.lang
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.task_uid):
query['TaskUid'] = request.task_uid
if not UtilClient.is_unset(request.user_status):
query['UserStatus'] = request.user_status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeFotaTasks',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeFotaTasksResponse(),
self.call_api(params, req, runtime)
)
def describe_fota_tasks(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_fota_tasks_with_options(request, runtime)
def describe_guest_applications_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeGuestApplications',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeGuestApplicationsResponse(),
self.call_api(params, req, runtime)
)
def describe_guest_applications(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_guest_applications_with_options(request, runtime)
def describe_image_modified_records_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeImageModifiedRecords',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeImageModifiedRecordsResponse(),
self.call_api(params, req, runtime)
)
def describe_image_modified_records(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_image_modified_records_with_options(request, runtime)
def describe_image_permission_with_options(self, request, runtime):
"""
You can call the [ModifyImagePermission](~~436982~~) operation to share an image with another cloud computer user or unshare an image. You can call the DescribeImagePermission operation to obtain the Alibaba Cloud accounts with which the current image is shared.
@param request: DescribeImagePermissionRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeImagePermissionResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeImagePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeImagePermissionResponse(),
self.call_api(params, req, runtime)
)
def describe_image_permission(self, request):
"""
You can call the [ModifyImagePermission](~~436982~~) operation to share an image with another cloud computer user or unshare an image. You can call the DescribeImagePermission operation to obtain the Alibaba Cloud accounts with which the current image is shared.
@param request: DescribeImagePermissionRequest
@return: DescribeImagePermissionResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_image_permission_with_options(request, runtime)
def describe_images_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_instance_type):
query['DesktopInstanceType'] = request.desktop_instance_type
if not UtilClient.is_unset(request.fota_version):
query['FotaVersion'] = request.fota_version
if not UtilClient.is_unset(request.gpu_category):
query['GpuCategory'] = request.gpu_category
if not UtilClient.is_unset(request.gpu_driver_version):
query['GpuDriverVersion'] = request.gpu_driver_version
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.image_name):
query['ImageName'] = request.image_name
if not UtilClient.is_unset(request.image_status):
query['ImageStatus'] = request.image_status
if not UtilClient.is_unset(request.image_type):
query['ImageType'] = request.image_type
if not UtilClient.is_unset(request.language_type):
query['LanguageType'] = request.language_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.os_type):
query['OsType'] = request.os_type
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.session_type):
query['SessionType'] = request.session_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeImages',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeImagesResponse(),
self.call_api(params, req, runtime)
)
def describe_images(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_images_with_options(request, runtime)
def describe_invocations_with_options(self, request, runtime):
"""
After you run a command, it may not succeed. You can call this operation to query the execution result.
* You can query the information about execution in the last two weeks. A maximum of 100,000 lines of execution information can be retained.
@param request: DescribeInvocationsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeInvocationsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.command_type):
query['CommandType'] = request.command_type
if not UtilClient.is_unset(request.content_encoding):
query['ContentEncoding'] = request.content_encoding
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_ids):
query['DesktopIds'] = request.desktop_ids
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.include_output):
query['IncludeOutput'] = request.include_output
if not UtilClient.is_unset(request.invoke_id):
query['InvokeId'] = request.invoke_id
if not UtilClient.is_unset(request.invoke_status):
query['InvokeStatus'] = request.invoke_status
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeInvocations',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeInvocationsResponse(),
self.call_api(params, req, runtime)
)
def describe_invocations(self, request):
"""
After you run a command, it may not succeed. You can call this operation to query the execution result.
* You can query the information about execution in the last two weeks. A maximum of 100,000 lines of execution information can be retained.
@param request: DescribeInvocationsRequest
@return: DescribeInvocationsResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_invocations_with_options(request, runtime)
def describe_kms_keys_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeKmsKeys',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeKmsKeysResponse(),
self.call_api(params, req, runtime)
)
def describe_kms_keys(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_kms_keys_with_options(request, runtime)
def describe_nasfile_systems_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.match_compatible_profile):
query['MatchCompatibleProfile'] = request.match_compatible_profile
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeNASFileSystems',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeNASFileSystemsResponse(),
self.call_api(params, req, runtime)
)
def describe_nasfile_systems(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_nasfile_systems_with_options(request, runtime)
def describe_network_packages_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.internet_charge_type):
query['InternetChargeType'] = request.internet_charge_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeNetworkPackages',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeNetworkPackagesResponse(),
self.call_api(params, req, runtime)
)
def describe_network_packages(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_network_packages_with_options(request, runtime)
def describe_office_sites_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_type):
query['OfficeSiteType'] = request.office_site_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeOfficeSites',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeOfficeSitesResponse(),
self.call_api(params, req, runtime)
)
def describe_office_sites(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_office_sites_with_options(request, runtime)
def describe_policy_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.scope):
query['Scope'] = request.scope
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribePolicyGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribePolicyGroupsResponse(),
self.call_api(params, req, runtime)
)
def describe_policy_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_policy_groups_with_options(request, runtime)
def describe_price_with_options(self, request, runtime):
"""
## Usage notes
The request parameters vary based on the type of desktop resources whose price you want to query. Take note of the following items:
* If you set ResourceType to OfficeSite, you must specify InstanceType.
* If you set ResourceType to Bandwidth, the pay-by-data-transfer metering method is used for network billing.
* If you set ResourceType to Desktop, you must specify InstanceType, RootDiskSizeGib, and UserDiskSizeGib. You can specify OsType, PeriodUnit, Period, and Amount based on your business requirements.
> Before you call this operation to query the prices of cloud desktops by setting ResourceType to Desktop, you must know the desktop types and disk sizes that EDS provides. The disk sizes vary based on the desktop types. For more information, see [Cloud desktop types](~~188609~~).
@param request: DescribePriceRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribePriceResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.amount):
query['Amount'] = request.amount
if not UtilClient.is_unset(request.bandwidth):
query['Bandwidth'] = request.bandwidth
if not UtilClient.is_unset(request.bundle_models):
query['BundleModels'] = request.bundle_models
if not UtilClient.is_unset(request.edu_cds_enable):
query['EduCdsEnable'] = request.edu_cds_enable
if not UtilClient.is_unset(request.edu_cds_size):
query['EduCdsSize'] = request.edu_cds_size
if not UtilClient.is_unset(request.edu_committed_time):
query['EduCommittedTime'] = request.edu_committed_time
if not UtilClient.is_unset(request.edu_desktop_bundle_id):
query['EduDesktopBundleId'] = request.edu_desktop_bundle_id
if not UtilClient.is_unset(request.edu_desktop_num):
query['EduDesktopNum'] = request.edu_desktop_num
if not UtilClient.is_unset(request.edu_room_classify):
query['EduRoomClassify'] = request.edu_room_classify
if not UtilClient.is_unset(request.edu_student_bundle_id):
query['EduStudentBundleId'] = request.edu_student_bundle_id
if not UtilClient.is_unset(request.edu_student_num):
query['EduStudentNum'] = request.edu_student_num
if not UtilClient.is_unset(request.edu_teacher_bundle_id):
query['EduTeacherBundleId'] = request.edu_teacher_bundle_id
if not UtilClient.is_unset(request.edu_teacher_num):
query['EduTeacherNum'] = request.edu_teacher_num
if not UtilClient.is_unset(request.group_desktop_count):
query['GroupDesktopCount'] = request.group_desktop_count
if not UtilClient.is_unset(request.hardware_version):
query['HardwareVersion'] = request.hardware_version
if not UtilClient.is_unset(request.instance_type):
query['InstanceType'] = request.instance_type
if not UtilClient.is_unset(request.internet_charge_type):
query['InternetChargeType'] = request.internet_charge_type
if not UtilClient.is_unset(request.network_type):
query['NetworkType'] = request.network_type
if not UtilClient.is_unset(request.os_type):
query['OsType'] = request.os_type
if not UtilClient.is_unset(request.package_size):
query['PackageSize'] = request.package_size
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_type):
query['ResourceType'] = request.resource_type
if not UtilClient.is_unset(request.root_disk_performance_level):
query['RootDiskPerformanceLevel'] = request.root_disk_performance_level
if not UtilClient.is_unset(request.root_disk_size_gib):
query['RootDiskSizeGib'] = request.root_disk_size_gib
if not UtilClient.is_unset(request.sp_period_info):
query['SpPeriodInfo'] = request.sp_period_info
if not UtilClient.is_unset(request.sp_price):
query['SpPrice'] = request.sp_price
if not UtilClient.is_unset(request.sp_type):
query['SpType'] = request.sp_type
if not UtilClient.is_unset(request.user_disk_performance_level):
query['UserDiskPerformanceLevel'] = request.user_disk_performance_level
if not UtilClient.is_unset(request.user_disk_size_gib):
query['UserDiskSizeGib'] = request.user_disk_size_gib
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribePrice',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribePriceResponse(),
self.call_api(params, req, runtime)
)
def describe_price(self, request):
"""
## Usage notes
The request parameters vary based on the type of desktop resources whose price you want to query. Take note of the following items:
* If you set ResourceType to OfficeSite, you must specify InstanceType.
* If you set ResourceType to Bandwidth, the pay-by-data-transfer metering method is used for network billing.
* If you set ResourceType to Desktop, you must specify InstanceType, RootDiskSizeGib, and UserDiskSizeGib. You can specify OsType, PeriodUnit, Period, and Amount based on your business requirements.
> Before you call this operation to query the prices of cloud desktops by setting ResourceType to Desktop, you must know the desktop types and disk sizes that EDS provides. The disk sizes vary based on the desktop types. For more information, see [Cloud desktop types](~~188609~~).
@param request: DescribePriceRequest
@return: DescribePriceResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_price_with_options(request, runtime)
def describe_price_for_create_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.concurrence_count):
query['ConcurrenceCount'] = request.concurrence_count
if not UtilClient.is_unset(request.data_disk_size):
query['DataDiskSize'] = request.data_disk_size
if not UtilClient.is_unset(request.desktop_type):
query['DesktopType'] = request.desktop_type
if not UtilClient.is_unset(request.oversold_user_count):
query['OversoldUserCount'] = request.oversold_user_count
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.system_disk_size):
query['SystemDiskSize'] = request.system_disk_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribePriceForCreateDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribePriceForCreateDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_price_for_create_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_price_for_create_desktop_oversold_group_with_options(request, runtime)
def describe_price_for_modify_desktop_oversold_group_sale_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.concurrence_count):
query['ConcurrenceCount'] = request.concurrence_count
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.oversold_user_count):
query['OversoldUserCount'] = request.oversold_user_count
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribePriceForModifyDesktopOversoldGroupSale',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribePriceForModifyDesktopOversoldGroupSaleResponse(),
self.call_api(params, req, runtime)
)
def describe_price_for_modify_desktop_oversold_group_sale(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_price_for_modify_desktop_oversold_group_sale_with_options(request, runtime)
def describe_price_for_renew_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribePriceForRenewDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribePriceForRenewDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_price_for_renew_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_price_for_renew_desktop_oversold_group_with_options(request, runtime)
def describe_recordings_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.need_signed_url):
query['NeedSignedUrl'] = request.need_signed_url
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.signed_url_expire_minutes):
query['SignedUrlExpireMinutes'] = request.signed_url_expire_minutes
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeRecordings',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeRecordingsResponse(),
self.call_api(params, req, runtime)
)
def describe_recordings(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_recordings_with_options(request, runtime)
def describe_regions_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.accept_language):
query['AcceptLanguage'] = request.accept_language
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeRegions',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeRegionsResponse(),
self.call_api(params, req, runtime)
)
def describe_regions(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_regions_with_options(request, runtime)
def describe_session_statistic_with_options(self, request, runtime):
"""
This is a central operation and can be called only by using services in the China (Shanghai) region.
* You can query session statistics for the past hour.
@param request: DescribeSessionStatisticRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeSessionStatisticResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.search_region_id):
query['SearchRegionId'] = request.search_region_id
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeSessionStatistic',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeSessionStatisticResponse(),
self.call_api(params, req, runtime)
)
def describe_session_statistic(self, request):
"""
This is a central operation and can be called only by using services in the China (Shanghai) region.
* You can query session statistics for the past hour.
@param request: DescribeSessionStatisticRequest
@return: DescribeSessionStatisticResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_session_statistic_with_options(request, runtime)
def describe_snapshots_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.creator):
query['Creator'] = request.creator
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_id):
query['SnapshotId'] = request.snapshot_id
if not UtilClient.is_unset(request.snapshot_name):
query['SnapshotName'] = request.snapshot_name
if not UtilClient.is_unset(request.snapshot_type):
query['SnapshotType'] = request.snapshot_type
if not UtilClient.is_unset(request.source_disk_type):
query['SourceDiskType'] = request.source_disk_type
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeSnapshots',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeSnapshotsResponse(),
self.call_api(params, req, runtime)
)
def describe_snapshots(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_snapshots_with_options(request, runtime)
def describe_user_connect_time_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
if not UtilClient.is_unset(request.user_desktop_id):
query['UserDesktopId'] = request.user_desktop_id
if not UtilClient.is_unset(request.user_group_id):
query['UserGroupId'] = request.user_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeUserConnectTime',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeUserConnectTimeResponse(),
self.call_api(params, req, runtime)
)
def describe_user_connect_time(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_user_connect_time_with_options(request, runtime)
def describe_user_connection_records_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.connect_duration_from):
query['ConnectDurationFrom'] = request.connect_duration_from
if not UtilClient.is_unset(request.connect_duration_to):
query['ConnectDurationTo'] = request.connect_duration_to
if not UtilClient.is_unset(request.connect_end_time_from):
query['ConnectEndTimeFrom'] = request.connect_end_time_from
if not UtilClient.is_unset(request.connect_end_time_to):
query['ConnectEndTimeTo'] = request.connect_end_time_to
if not UtilClient.is_unset(request.connect_start_time_from):
query['ConnectStartTimeFrom'] = request.connect_start_time_from
if not UtilClient.is_unset(request.connect_start_time_to):
query['ConnectStartTimeTo'] = request.connect_start_time_to
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.end_user_type):
query['EndUserType'] = request.end_user_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeUserConnectionRecords',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeUserConnectionRecordsResponse(),
self.call_api(params, req, runtime)
)
def describe_user_connection_records(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_user_connection_records_with_options(request, runtime)
def describe_user_profile_path_rules_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.rule_type):
query['RuleType'] = request.rule_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeUserProfilePathRules',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeUserProfilePathRulesResponse(),
self.call_api(params, req, runtime)
)
def describe_user_profile_path_rules(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_user_profile_path_rules_with_options(request, runtime)
def describe_users_in_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.connect_state):
query['ConnectState'] = request.connect_state
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.filter):
query['Filter'] = request.filter
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.org_id):
query['OrgId'] = request.org_id
if not UtilClient.is_unset(request.query_user_detail):
query['QueryUserDetail'] = request.query_user_detail
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeUsersInGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeUsersInGroupResponse(),
self.call_api(params, req, runtime)
)
def describe_users_in_group(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_users_in_group_with_options(request, runtime)
def describe_users_password_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeUsersPassword',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeUsersPasswordResponse(),
self.call_api(params, req, runtime)
)
def describe_users_password(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_users_password_with_options(request, runtime)
def describe_virtual_mfadevices_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeVirtualMFADevices',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeVirtualMFADevicesResponse(),
self.call_api(params, req, runtime)
)
def describe_virtual_mfadevices(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_virtual_mfadevices_with_options(request, runtime)
def describe_zones_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.zone_type):
query['ZoneType'] = request.zone_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeZones',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DescribeZonesResponse(),
self.call_api(params, req, runtime)
)
def describe_zones(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_zones_with_options(request, runtime)
def detach_cen_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DetachCen',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DetachCenResponse(),
self.call_api(params, req, runtime)
)
def detach_cen(self, request):
runtime = util_models.RuntimeOptions()
return self.detach_cen_with_options(request, runtime)
def detach_end_user_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_domain):
query['AdDomain'] = request.ad_domain
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.device_id):
query['DeviceId'] = request.device_id
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region):
query['Region'] = request.region
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DetachEndUser',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DetachEndUserResponse(),
self.call_api(params, req, runtime)
)
def detach_end_user(self, request):
runtime = util_models.RuntimeOptions()
return self.detach_end_user_with_options(request, runtime)
def disable_desktops_in_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_ids):
query['DesktopIds'] = request.desktop_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DisableDesktopsInGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DisableDesktopsInGroupResponse(),
self.call_api(params, req, runtime)
)
def disable_desktops_in_group(self, request):
runtime = util_models.RuntimeOptions()
return self.disable_desktops_in_group_with_options(request, runtime)
def disconnect_desktop_sessions_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.pre_check):
query['PreCheck'] = request.pre_check
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.sessions):
query['Sessions'] = request.sessions
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DisconnectDesktopSessions',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DisconnectDesktopSessionsResponse(),
self.call_api(params, req, runtime)
)
def disconnect_desktop_sessions(self, request):
runtime = util_models.RuntimeOptions()
return self.disconnect_desktop_sessions_with_options(request, runtime)
def dissociate_network_package_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DissociateNetworkPackage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.DissociateNetworkPackageResponse(),
self.call_api(params, req, runtime)
)
def dissociate_network_package(self, request):
runtime = util_models.RuntimeOptions()
return self.dissociate_network_package_with_options(request, runtime)
def export_client_events_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.event_type):
query['EventType'] = request.event_type
if not UtilClient.is_unset(request.event_types):
query['EventTypes'] = request.event_types
if not UtilClient.is_unset(request.lang_type):
query['LangType'] = request.lang_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ExportClientEvents',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ExportClientEventsResponse(),
self.call_api(params, req, runtime)
)
def export_client_events(self, request):
runtime = util_models.RuntimeOptions()
return self.export_client_events_with_options(request, runtime)
def export_desktop_group_info_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_name):
query['DesktopGroupName'] = request.desktop_group_name
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.expired_time):
query['ExpiredTime'] = request.expired_time
if not UtilClient.is_unset(request.lang_type):
query['LangType'] = request.lang_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ExportDesktopGroupInfo',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ExportDesktopGroupInfoResponse(),
self.call_api(params, req, runtime)
)
def export_desktop_group_info(self, request):
runtime = util_models.RuntimeOptions()
return self.export_desktop_group_info_with_options(request, runtime)
def export_desktop_list_info_with_options(self, request, runtime):
"""
The cloud computer list exported by calling this operation is saved as a CSV file. Each entry of data of a cloud computer includes the following fields:
* Cloud computer ID and name
* Office network ID and name
* The instance type, OS and protocol of the cloud computer
* System disk and data disk of the cloud computer
* The status
* Purchase method
* The time when the cloud computer expires
* Remaining duration and total duration
* Number of assigned users and number of current users
* Office network type
* The time when the cloud computer was created
* Tags
* Encryption status
* IP
* The hostname
@param request: ExportDesktopListInfoRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ExportDesktopListInfoResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_name):
query['DesktopName'] = request.desktop_name
if not UtilClient.is_unset(request.desktop_status):
query['DesktopStatus'] = request.desktop_status
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.expired_time):
query['ExpiredTime'] = request.expired_time
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.lang_type):
query['LangType'] = request.lang_type
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.tag):
query['Tag'] = request.tag
if not UtilClient.is_unset(request.user_name):
query['UserName'] = request.user_name
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ExportDesktopListInfo',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ExportDesktopListInfoResponse(),
self.call_api(params, req, runtime)
)
def export_desktop_list_info(self, request):
"""
The cloud computer list exported by calling this operation is saved as a CSV file. Each entry of data of a cloud computer includes the following fields:
* Cloud computer ID and name
* Office network ID and name
* The instance type, OS and protocol of the cloud computer
* System disk and data disk of the cloud computer
* The status
* Purchase method
* The time when the cloud computer expires
* Remaining duration and total duration
* Number of assigned users and number of current users
* Office network type
* The time when the cloud computer was created
* Tags
* Encryption status
* IP
* The hostname
@param request: ExportDesktopListInfoRequest
@return: ExportDesktopListInfoResponse
"""
runtime = util_models.RuntimeOptions()
return self.export_desktop_list_info_with_options(request, runtime)
def get_async_task_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.async_task_id):
query['AsyncTaskId'] = request.async_task_id
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetAsyncTask',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetAsyncTaskResponse(),
self.call_api(params, req, runtime)
)
def get_async_task(self, request):
runtime = util_models.RuntimeOptions()
return self.get_async_task_with_options(request, runtime)
def get_connection_ticket_with_options(self, request, runtime):
"""
The cloud computer must be in the Running state.
@param request: GetConnectionTicketRequest
@param runtime: runtime options for this request RuntimeOptions
@return: GetConnectionTicketResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.command_content):
query['CommandContent'] = request.command_content
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.owner_id):
query['OwnerId'] = request.owner_id
if not UtilClient.is_unset(request.password):
query['Password'] = request.password
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_owner_account):
query['ResourceOwnerAccount'] = request.resource_owner_account
if not UtilClient.is_unset(request.resource_owner_id):
query['ResourceOwnerId'] = request.resource_owner_id
if not UtilClient.is_unset(request.task_id):
query['TaskId'] = request.task_id
if not UtilClient.is_unset(request.uuid):
query['Uuid'] = request.uuid
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetConnectionTicket',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetConnectionTicketResponse(),
self.call_api(params, req, runtime)
)
def get_connection_ticket(self, request):
"""
The cloud computer must be in the Running state.
@param request: GetConnectionTicketRequest
@return: GetConnectionTicketResponse
"""
runtime = util_models.RuntimeOptions()
return self.get_connection_ticket_with_options(request, runtime)
def get_coordinate_ticket_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.co_id):
query['CoId'] = request.co_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.task_id):
query['TaskId'] = request.task_id
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetCoordinateTicket',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetCoordinateTicketResponse(),
self.call_api(params, req, runtime)
)
def get_coordinate_ticket(self, request):
runtime = util_models.RuntimeOptions()
return self.get_coordinate_ticket_with_options(request, runtime)
def get_desktop_group_detail_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetDesktopGroupDetail',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetDesktopGroupDetailResponse(),
self.call_api(params, req, runtime)
)
def get_desktop_group_detail(self, request):
runtime = util_models.RuntimeOptions()
return self.get_desktop_group_detail_with_options(request, runtime)
def get_office_site_sso_status_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetOfficeSiteSsoStatus',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetOfficeSiteSsoStatusResponse(),
self.call_api(params, req, runtime)
)
def get_office_site_sso_status(self, request):
runtime = util_models.RuntimeOptions()
return self.get_office_site_sso_status_with_options(request, runtime)
def get_sp_metadata_with_options(self, request, runtime):
"""
You can call this operation only for workspaces of the Active Directory (AD) and convenience account types.
@param request: GetSpMetadataRequest
@param runtime: runtime options for this request RuntimeOptions
@return: GetSpMetadataResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetSpMetadata',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.GetSpMetadataResponse(),
self.call_api(params, req, runtime)
)
def get_sp_metadata(self, request):
"""
You can call this operation only for workspaces of the Active Directory (AD) and convenience account types.
@param request: GetSpMetadataRequest
@return: GetSpMetadataResponse
"""
runtime = util_models.RuntimeOptions()
return self.get_sp_metadata_with_options(request, runtime)
def hibernate_desktops_with_options(self, request, runtime):
"""
Hibernating a cloud desktop is in private preview. If you want to try this feature, submit a ticket.
@param request: HibernateDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: HibernateDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='HibernateDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.HibernateDesktopsResponse(),
self.call_api(params, req, runtime)
)
def hibernate_desktops(self, request):
"""
Hibernating a cloud desktop is in private preview. If you want to try this feature, submit a ticket.
@param request: HibernateDesktopsRequest
@return: HibernateDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.hibernate_desktops_with_options(request, runtime)
def list_cds_files_with_options(self, tmp_req, runtime):
UtilClient.validate_model(tmp_req)
request = ecd_20200930_models.ListCdsFilesShrinkRequest()
OpenApiUtilClient.convert(tmp_req, request)
if not UtilClient.is_unset(tmp_req.file_ids):
request.file_ids_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.file_ids, 'FileIds', 'json')
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_ids_shrink):
query['FileIds'] = request.file_ids_shrink
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.order_type):
query['OrderType'] = request.order_type
if not UtilClient.is_unset(request.parent_file_id):
query['ParentFileId'] = request.parent_file_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListCdsFiles',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListCdsFilesResponse(),
self.call_api(params, req, runtime)
)
def list_cds_files(self, request):
runtime = util_models.RuntimeOptions()
return self.list_cds_files_with_options(request, runtime)
def list_directory_users_with_options(self, request, runtime):
"""
If you use an AD directory to connect to an AD system, you can call this operation to obtain the user information in the AD system.
@param request: ListDirectoryUsersRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ListDirectoryUsersResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.filter):
query['Filter'] = request.filter
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oupath):
query['OUPath'] = request.oupath
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListDirectoryUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListDirectoryUsersResponse(),
self.call_api(params, req, runtime)
)
def list_directory_users(self, request):
"""
If you use an AD directory to connect to an AD system, you can call this operation to obtain the user information in the AD system.
@param request: ListDirectoryUsersRequest
@return: ListDirectoryUsersResponse
"""
runtime = util_models.RuntimeOptions()
return self.list_directory_users_with_options(request, runtime)
def list_file_permission_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListFilePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListFilePermissionResponse(),
self.call_api(params, req, runtime)
)
def list_file_permission(self, request):
runtime = util_models.RuntimeOptions()
return self.list_file_permission_with_options(request, runtime)
def list_office_site_overview_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.force_refresh):
query['ForceRefresh'] = request.force_refresh
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.query_range):
query['QueryRange'] = request.query_range
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListOfficeSiteOverview',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListOfficeSiteOverviewResponse(),
self.call_api(params, req, runtime)
)
def list_office_site_overview(self, request):
runtime = util_models.RuntimeOptions()
return self.list_office_site_overview_with_options(request, runtime)
def list_office_site_users_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.filter):
query['Filter'] = request.filter
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.oupath):
query['OUPath'] = request.oupath
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListOfficeSiteUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListOfficeSiteUsersResponse(),
self.call_api(params, req, runtime)
)
def list_office_site_users(self, request):
runtime = util_models.RuntimeOptions()
return self.list_office_site_users_with_options(request, runtime)
def list_tag_resources_with_options(self, request, runtime):
"""
You must use at least one of the following parameters in the request to determine the object that you want to query: `ResourceId.N`, `Tag.N.Key`, and `Tag.N.Value`.
@param request: ListTagResourcesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ListTagResourcesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_id):
query['ResourceId'] = request.resource_id
if not UtilClient.is_unset(request.resource_type):
query['ResourceType'] = request.resource_type
if not UtilClient.is_unset(request.tag):
query['Tag'] = request.tag
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListTagResources',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListTagResourcesResponse(),
self.call_api(params, req, runtime)
)
def list_tag_resources(self, request):
"""
You must use at least one of the following parameters in the request to determine the object that you want to query: `ResourceId.N`, `Tag.N.Key`, and `Tag.N.Value`.
@param request: ListTagResourcesRequest
@return: ListTagResourcesResponse
"""
runtime = util_models.RuntimeOptions()
return self.list_tag_resources_with_options(request, runtime)
def list_user_ad_organization_units_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.filter):
query['Filter'] = request.filter
if not UtilClient.is_unset(request.max_results):
query['MaxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['NextToken'] = request.next_token
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ListUserAdOrganizationUnits',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ListUserAdOrganizationUnitsResponse(),
self.call_api(params, req, runtime)
)
def list_user_ad_organization_units(self, request):
runtime = util_models.RuntimeOptions()
return self.list_user_ad_organization_units_with_options(request, runtime)
def lock_virtual_mfadevice_with_options(self, request, runtime):
"""
After a virtual MFA device is locked, its status changes to LOCKED. The Active Directory (AD) user who uses the virtual MFA device is unable to pass MFA and is therefore unable to log on to the client. You can call the [UnlockVirtualMFADevice](~~206212~~) operation to unlock the device.
@param request: LockVirtualMFADeviceRequest
@param runtime: runtime options for this request RuntimeOptions
@return: LockVirtualMFADeviceResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.serial_number):
query['SerialNumber'] = request.serial_number
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='LockVirtualMFADevice',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.LockVirtualMFADeviceResponse(),
self.call_api(params, req, runtime)
)
def lock_virtual_mfadevice(self, request):
"""
After a virtual MFA device is locked, its status changes to LOCKED. The Active Directory (AD) user who uses the virtual MFA device is unable to pass MFA and is therefore unable to log on to the client. You can call the [UnlockVirtualMFADevice](~~206212~~) operation to unlock the device.
@param request: LockVirtualMFADeviceRequest
@return: LockVirtualMFADeviceResponse
"""
runtime = util_models.RuntimeOptions()
return self.lock_virtual_mfadevice_with_options(request, runtime)
def migrate_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.target_office_site_id):
query['TargetOfficeSiteId'] = request.target_office_site_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='MigrateDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.MigrateDesktopsResponse(),
self.call_api(params, req, runtime)
)
def migrate_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.migrate_desktops_with_options(request, runtime)
def migrate_image_protocol_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.target_protocol_type):
query['TargetProtocolType'] = request.target_protocol_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='MigrateImageProtocol',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.MigrateImageProtocolResponse(),
self.call_api(params, req, runtime)
)
def migrate_image_protocol(self, request):
runtime = util_models.RuntimeOptions()
return self.migrate_image_protocol_with_options(request, runtime)
def modify_adconnector_directory_with_options(self, request, runtime):
"""
You can modify the following domain name- and Domain Name System (DNS)-related parameters only for Active Directory (AD) directories that are in the ERROR or REGISTERING state: `DomainName`, `SubDomainName`, `DnsAddress.N`, and `SubDomainDnsAddress`.
@param request: ModifyADConnectorDirectoryRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyADConnectorDirectoryResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_hostname):
query['AdHostname'] = request.ad_hostname
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.directory_name):
query['DirectoryName'] = request.directory_name
if not UtilClient.is_unset(request.dns_address):
query['DnsAddress'] = request.dns_address
if not UtilClient.is_unset(request.domain_name):
query['DomainName'] = request.domain_name
if not UtilClient.is_unset(request.domain_password):
query['DomainPassword'] = request.domain_password
if not UtilClient.is_unset(request.domain_user_name):
query['DomainUserName'] = request.domain_user_name
if not UtilClient.is_unset(request.mfa_enabled):
query['MfaEnabled'] = request.mfa_enabled
if not UtilClient.is_unset(request.ouname):
query['OUName'] = request.ouname
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.sub_domain_dns_address):
query['SubDomainDnsAddress'] = request.sub_domain_dns_address
if not UtilClient.is_unset(request.sub_domain_name):
query['SubDomainName'] = request.sub_domain_name
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyADConnectorDirectory',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyADConnectorDirectoryResponse(),
self.call_api(params, req, runtime)
)
def modify_adconnector_directory(self, request):
"""
You can modify the following domain name- and Domain Name System (DNS)-related parameters only for Active Directory (AD) directories that are in the ERROR or REGISTERING state: `DomainName`, `SubDomainName`, `DnsAddress.N`, and `SubDomainDnsAddress`.
@param request: ModifyADConnectorDirectoryRequest
@return: ModifyADConnectorDirectoryResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_adconnector_directory_with_options(request, runtime)
def modify_adconnector_office_site_with_options(self, request, runtime):
"""
You can modify parameters of domain names and Domain Name System (DNS) for enterprise AD office networks that are in the `ERROR` or `REGISTERED` state. The parameters include `DomainName`, `SubDomainName`, `DnsAddress.N`, and `SubDomainDnsAddress.N`.
@param request: ModifyADConnectorOfficeSiteRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyADConnectorOfficeSiteResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.ad_hostname):
query['AdHostname'] = request.ad_hostname
if not UtilClient.is_unset(request.dns_address):
query['DnsAddress'] = request.dns_address
if not UtilClient.is_unset(request.domain_name):
query['DomainName'] = request.domain_name
if not UtilClient.is_unset(request.domain_password):
query['DomainPassword'] = request.domain_password
if not UtilClient.is_unset(request.domain_user_name):
query['DomainUserName'] = request.domain_user_name
if not UtilClient.is_unset(request.mfa_enabled):
query['MfaEnabled'] = request.mfa_enabled
if not UtilClient.is_unset(request.ouname):
query['OUName'] = request.ouname
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.sub_domain_dns_address):
query['SubDomainDnsAddress'] = request.sub_domain_dns_address
if not UtilClient.is_unset(request.sub_domain_name):
query['SubDomainName'] = request.sub_domain_name
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyADConnectorOfficeSite',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyADConnectorOfficeSiteResponse(),
self.call_api(params, req, runtime)
)
def modify_adconnector_office_site(self, request):
"""
You can modify parameters of domain names and Domain Name System (DNS) for enterprise AD office networks that are in the `ERROR` or `REGISTERED` state. The parameters include `DomainName`, `SubDomainName`, `DnsAddress.N`, and `SubDomainDnsAddress.N`.
@param request: ModifyADConnectorOfficeSiteRequest
@return: ModifyADConnectorOfficeSiteResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_adconnector_office_site_with_options(request, runtime)
def modify_acl_entries_with_options(self, request, runtime):
"""
You can set different Internet access control policies at different granularities to achieve the effect of composite policies. For example, you can disable the Internet access on the office network granularity and enable the Internet access on specific cloud computer granularity. The effect is that all cloud computers in the office network except the specified cloud computers are not allowed to access the Internet.
@param request: ModifyAclEntriesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyAclEntriesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.policy):
query['Policy'] = request.policy
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.source_id):
query['SourceId'] = request.source_id
if not UtilClient.is_unset(request.source_type):
query['SourceType'] = request.source_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyAclEntries',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyAclEntriesResponse(),
self.call_api(params, req, runtime)
)
def modify_acl_entries(self, request):
"""
You can set different Internet access control policies at different granularities to achieve the effect of composite policies. For example, you can disable the Internet access on the office network granularity and enable the Internet access on specific cloud computer granularity. The effect is that all cloud computers in the office network except the specified cloud computers are not allowed to access the Internet.
@param request: ModifyAclEntriesRequest
@return: ModifyAclEntriesResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_acl_entries_with_options(request, runtime)
def modify_auto_snapshot_policy_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cron_expression):
query['CronExpression'] = request.cron_expression
if not UtilClient.is_unset(request.policy_id):
query['PolicyId'] = request.policy_id
if not UtilClient.is_unset(request.policy_name):
query['PolicyName'] = request.policy_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.retention_days):
query['RetentionDays'] = request.retention_days
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyAutoSnapshotPolicy',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyAutoSnapshotPolicyResponse(),
self.call_api(params, req, runtime)
)
def modify_auto_snapshot_policy(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_auto_snapshot_policy_with_options(request, runtime)
def modify_bundle_with_options(self, request, runtime):
"""
Only custom desktop templates can be modified.
@param request: ModifyBundleRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyBundleResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bundle_id):
query['BundleId'] = request.bundle_id
if not UtilClient.is_unset(request.bundle_name):
query['BundleName'] = request.bundle_name
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.language):
query['Language'] = request.language
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyBundle',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyBundleResponse(),
self.call_api(params, req, runtime)
)
def modify_bundle(self, request):
"""
Only custom desktop templates can be modified.
@param request: ModifyBundleRequest
@return: ModifyBundleResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_bundle_with_options(request, runtime)
def modify_cds_file_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.conflict_policy):
query['ConflictPolicy'] = request.conflict_policy
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.file_name):
query['FileName'] = request.file_name
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCdsFileResponse(),
self.call_api(params, req, runtime)
)
def modify_cds_file(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_cds_file_with_options(request, runtime)
def modify_cds_file_share_link_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.disable_download):
query['DisableDownload'] = request.disable_download
if not UtilClient.is_unset(request.disable_preview):
query['DisablePreview'] = request.disable_preview
if not UtilClient.is_unset(request.disable_save):
query['DisableSave'] = request.disable_save
if not UtilClient.is_unset(request.download_count):
query['DownloadCount'] = request.download_count
if not UtilClient.is_unset(request.download_limit):
query['DownloadLimit'] = request.download_limit
if not UtilClient.is_unset(request.expiration):
query['Expiration'] = request.expiration
if not UtilClient.is_unset(request.preview_count):
query['PreviewCount'] = request.preview_count
if not UtilClient.is_unset(request.preview_limit):
query['PreviewLimit'] = request.preview_limit
if not UtilClient.is_unset(request.report_count):
query['ReportCount'] = request.report_count
if not UtilClient.is_unset(request.save_count):
query['SaveCount'] = request.save_count
if not UtilClient.is_unset(request.save_limit):
query['SaveLimit'] = request.save_limit
if not UtilClient.is_unset(request.share_id):
query['ShareId'] = request.share_id
if not UtilClient.is_unset(request.share_name):
query['ShareName'] = request.share_name
if not UtilClient.is_unset(request.share_pwd):
query['SharePwd'] = request.share_pwd
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
if not UtilClient.is_unset(request.video_preview_count):
query['VideoPreviewCount'] = request.video_preview_count
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCdsFileShareLink',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCdsFileShareLinkResponse(),
self.call_api(params, req, runtime)
)
def modify_cds_file_share_link(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_cds_file_share_link_with_options(request, runtime)
def modify_cloud_drive_groups_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
if not UtilClient.is_unset(request.total_size):
query['TotalSize'] = request.total_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCloudDriveGroups',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCloudDriveGroupsResponse(),
self.call_api(params, req, runtime)
)
def modify_cloud_drive_groups(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_cloud_drive_groups_with_options(request, runtime)
def modify_cloud_drive_permission_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.download_end_user_ids):
query['DownloadEndUserIds'] = request.download_end_user_ids
if not UtilClient.is_unset(request.download_upload_end_user_ids):
query['DownloadUploadEndUserIds'] = request.download_upload_end_user_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCloudDrivePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCloudDrivePermissionResponse(),
self.call_api(params, req, runtime)
)
def modify_cloud_drive_permission(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_cloud_drive_permission_with_options(request, runtime)
def modify_cloud_drive_users_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
if not UtilClient.is_unset(request.user_max_size):
query['UserMaxSize'] = request.user_max_size
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCloudDriveUsers',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCloudDriveUsersResponse(),
self.call_api(params, req, runtime)
)
def modify_cloud_drive_users(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_cloud_drive_users_with_options(request, runtime)
def modify_customized_list_headers_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.headers):
query['Headers'] = request.headers
if not UtilClient.is_unset(request.list_type):
query['ListType'] = request.list_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyCustomizedListHeaders',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyCustomizedListHeadersResponse(),
self.call_api(params, req, runtime)
)
def modify_customized_list_headers(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_customized_list_headers_with_options(request, runtime)
def modify_desktop_charge_type_with_options(self, request, runtime):
"""
Before you call this operation, make sure that you fully understand the billing methods of cloud computers. For more information, see [Billing overview](~~188395~~).
* Before you call this operation, make sure that the cloud computers whose billing method you want to change are in the Running or Stopped state and you have no overdue payments in your Alibaba Cloud account.
* After the order payment is completed, the system starts to change the billing method of the cloud computers. During the change, you cannot perform operations, such as starting or stopping the cloud computers, and changing configurations of the cloud computers.
@param request: ModifyDesktopChargeTypeRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDesktopChargeTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.charge_type):
query['ChargeType'] = request.charge_type
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.use_duration):
query['UseDuration'] = request.use_duration
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopChargeType',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopChargeTypeResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_charge_type(self, request):
"""
Before you call this operation, make sure that you fully understand the billing methods of cloud computers. For more information, see [Billing overview](~~188395~~).
* Before you call this operation, make sure that the cloud computers whose billing method you want to change are in the Running or Stopped state and you have no overdue payments in your Alibaba Cloud account.
* After the order payment is completed, the system starts to change the billing method of the cloud computers. During the change, you cannot perform operations, such as starting or stopping the cloud computers, and changing configurations of the cloud computers.
@param request: ModifyDesktopChargeTypeRequest
@return: ModifyDesktopChargeTypeResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_desktop_charge_type_with_options(request, runtime)
def modify_desktop_group_with_options(self, request, runtime):
"""
After a cloud computer pool is created, the system creates a specific number of cloud computers in the pool based on the auto scaling policy and user connections. Cloud computers are created by using the same cloud computer template and security policy. You can modify the configurations of the pool, including the pool name, cloud computer template, and policy, in different business scenarios.
@param request: ModifyDesktopGroupRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDesktopGroupResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.allow_auto_setup):
query['AllowAutoSetup'] = request.allow_auto_setup
if not UtilClient.is_unset(request.allow_buffer_count):
query['AllowBufferCount'] = request.allow_buffer_count
if not UtilClient.is_unset(request.bind_amount):
query['BindAmount'] = request.bind_amount
if not UtilClient.is_unset(request.buy_desktops_count):
query['BuyDesktopsCount'] = request.buy_desktops_count
if not UtilClient.is_unset(request.classify):
query['Classify'] = request.classify
if not UtilClient.is_unset(request.comments):
query['Comments'] = request.comments
if not UtilClient.is_unset(request.connect_duration):
query['ConnectDuration'] = request.connect_duration
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_name):
query['DesktopGroupName'] = request.desktop_group_name
if not UtilClient.is_unset(request.disable_session_config):
query['DisableSessionConfig'] = request.disable_session_config
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.idle_disconnect_duration):
query['IdleDisconnectDuration'] = request.idle_disconnect_duration
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.keep_duration):
query['KeepDuration'] = request.keep_duration
if not UtilClient.is_unset(request.load_policy):
query['LoadPolicy'] = request.load_policy
if not UtilClient.is_unset(request.max_desktops_count):
query['MaxDesktopsCount'] = request.max_desktops_count
if not UtilClient.is_unset(request.min_desktops_count):
query['MinDesktopsCount'] = request.min_desktops_count
if not UtilClient.is_unset(request.own_bundle_id):
query['OwnBundleId'] = request.own_bundle_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.policy_group_ids):
query['PolicyGroupIds'] = request.policy_group_ids
if not UtilClient.is_unset(request.profile_follow_switch):
query['ProfileFollowSwitch'] = request.profile_follow_switch
if not UtilClient.is_unset(request.ratio_threshold):
query['RatioThreshold'] = request.ratio_threshold
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.reset_type):
query['ResetType'] = request.reset_type
if not UtilClient.is_unset(request.scale_strategy_id):
query['ScaleStrategyId'] = request.scale_strategy_id
if not UtilClient.is_unset(request.stop_duration):
query['StopDuration'] = request.stop_duration
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_group(self, request):
"""
After a cloud computer pool is created, the system creates a specific number of cloud computers in the pool based on the auto scaling policy and user connections. Cloud computers are created by using the same cloud computer template and security policy. You can modify the configurations of the pool, including the pool name, cloud computer template, and policy, in different business scenarios.
@param request: ModifyDesktopGroupRequest
@return: ModifyDesktopGroupResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_desktop_group_with_options(request, runtime)
def modify_desktop_host_name_with_options(self, request, runtime):
"""
The Windows cloud computer whose hostname you want to modify must be in an AD office network. After the hostname is modified, the cloud computer is re-created.
@param request: ModifyDesktopHostNameRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDesktopHostNameResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.new_host_name):
query['NewHostName'] = request.new_host_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopHostName',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopHostNameResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_host_name(self, request):
"""
The Windows cloud computer whose hostname you want to modify must be in an AD office network. After the hostname is modified, the cloud computer is re-created.
@param request: ModifyDesktopHostNameRequest
@return: ModifyDesktopHostNameResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_desktop_host_name_with_options(request, runtime)
def modify_desktop_name_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.new_desktop_name):
query['NewDesktopName'] = request.new_desktop_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopName',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopNameResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_name(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_desktop_name_with_options(request, runtime)
def modify_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.concurrence_count):
query['ConcurrenceCount'] = request.concurrence_count
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.idle_disconnect_duration):
query['IdleDisconnectDuration'] = request.idle_disconnect_duration
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.keep_duration):
query['KeepDuration'] = request.keep_duration
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.oversold_user_count):
query['OversoldUserCount'] = request.oversold_user_count
if not UtilClient.is_unset(request.oversold_warn):
query['OversoldWarn'] = request.oversold_warn
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.stop_duration):
query['StopDuration'] = request.stop_duration
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_desktop_oversold_group_with_options(request, runtime)
def modify_desktop_oversold_group_sale_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.concurrence_count):
query['ConcurrenceCount'] = request.concurrence_count
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.oversold_user_count):
query['OversoldUserCount'] = request.oversold_user_count
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopOversoldGroupSale',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopOversoldGroupSaleResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_oversold_group_sale(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_desktop_oversold_group_sale_with_options(request, runtime)
def modify_desktop_oversold_user_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.user_group_id):
query['UserGroupId'] = request.user_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopOversoldUserGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopOversoldUserGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_oversold_user_group(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_desktop_oversold_user_group_with_options(request, runtime)
def modify_desktop_spec_with_options(self, request, runtime):
"""
Changing the configurations of a cloud computer includes changing the instance type of the cloud computer and scaling up the disks of the cloud computer.
* Before you change the configurations of a cloud computer, you must understand the instance types and disk sizes supported by cloud computers. For more information, see [Cloud computer types](~~188609~~). You can call the [DescribeDesktopTypes](~~188882~~) operation to query the instance types supported by cloud computers.
* You must change at least one of the following configurations: instance type, system disk size, and data disk size of the cloud computer. You must specify at least one of the following parameters: `DesktopType`, `RootDiskSizeGib`, and `UserDiskSizeGib`. Take note of the following items:
* The instance type of a cloud computer includes the configurations of vCPUs, memory, and GPUs. You can only change an instance type to another. You cannot change only one of the configurations.
* You cannot change a cloud computer between the General Office type and the non-General Office type. You cannot yet change a cloud computer between the Graphics type and the non-Graphics type.
* The system disk and data disks of a cloud computer can only be scaled up and cannot be scaled down.
* If the billing method of the cloud computer is subscription, the system calculates the price difference based on the configuration difference between the original cloud computer and the new cloud computer. You must make up for the price difference or receive a refund for the price difference.
* We recommend that you do not change the configurations of a cloud computer twice within 5 minutes.
* When you change the configurations of a cloud computer, the cloud computer must be in the Stopped state.
* After you change the configurations of a cloud computer, the personal data on the cloud computer is not affected.
@param request: ModifyDesktopSpecRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDesktopSpecResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_type):
query['DesktopType'] = request.desktop_type
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.root_disk_size_gib):
query['RootDiskSizeGib'] = request.root_disk_size_gib
if not UtilClient.is_unset(request.user_disk_performance_level):
query['UserDiskPerformanceLevel'] = request.user_disk_performance_level
if not UtilClient.is_unset(request.user_disk_size_gib):
query['UserDiskSizeGib'] = request.user_disk_size_gib
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopSpec',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopSpecResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_spec(self, request):
"""
Changing the configurations of a cloud computer includes changing the instance type of the cloud computer and scaling up the disks of the cloud computer.
* Before you change the configurations of a cloud computer, you must understand the instance types and disk sizes supported by cloud computers. For more information, see [Cloud computer types](~~188609~~). You can call the [DescribeDesktopTypes](~~188882~~) operation to query the instance types supported by cloud computers.
* You must change at least one of the following configurations: instance type, system disk size, and data disk size of the cloud computer. You must specify at least one of the following parameters: `DesktopType`, `RootDiskSizeGib`, and `UserDiskSizeGib`. Take note of the following items:
* The instance type of a cloud computer includes the configurations of vCPUs, memory, and GPUs. You can only change an instance type to another. You cannot change only one of the configurations.
* You cannot change a cloud computer between the General Office type and the non-General Office type. You cannot yet change a cloud computer between the Graphics type and the non-Graphics type.
* The system disk and data disks of a cloud computer can only be scaled up and cannot be scaled down.
* If the billing method of the cloud computer is subscription, the system calculates the price difference based on the configuration difference between the original cloud computer and the new cloud computer. You must make up for the price difference or receive a refund for the price difference.
* We recommend that you do not change the configurations of a cloud computer twice within 5 minutes.
* When you change the configurations of a cloud computer, the cloud computer must be in the Stopped state.
* After you change the configurations of a cloud computer, the personal data on the cloud computer is not affected.
@param request: ModifyDesktopSpecRequest
@return: ModifyDesktopSpecResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_desktop_spec_with_options(request, runtime)
def modify_desktop_timer_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.desktop_timers):
query['DesktopTimers'] = request.desktop_timers
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.use_desktop_timers):
query['UseDesktopTimers'] = request.use_desktop_timers
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopTimer',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopTimerResponse(),
self.call_api(params, req, runtime)
)
def modify_desktop_timer(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_desktop_timer_with_options(request, runtime)
def modify_desktops_policy_group_with_options(self, request, runtime):
"""
The cloud desktops that you want to restart by calling this operation must be in the Running state.
@param request: ModifyDesktopsPolicyGroupRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDesktopsPolicyGroupResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.policy_group_ids):
query['PolicyGroupIds'] = request.policy_group_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDesktopsPolicyGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDesktopsPolicyGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_desktops_policy_group(self, request):
"""
The cloud desktops that you want to restart by calling this operation must be in the Running state.
@param request: ModifyDesktopsPolicyGroupRequest
@return: ModifyDesktopsPolicyGroupResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_desktops_policy_group_with_options(request, runtime)
def modify_disk_spec_with_options(self, request, runtime):
"""
You can call this operation to change the configurations, such as the desktop type and disk size, of a cloud desktop.
* Before you call this operation, you must know the cloud desktop types and the disk sizes for each type of cloud desktop that Elastic Desktop Service (EDS) provides.
* When you change the configurations of a cloud desktop, you must change the desktop type or the size of the system disk or data disk. You must configure at least one of the following parameters: DesktopType, RootDiskSizeGib, and UserDiskSizeGib. Take note of the following items:
1\\. Desktop types include the specifications of vCPUs, memory, and GPUs. You can change only the desktop type, instead of one of the specifications.
2\\. You cannot change a cloud desktop from the General Office type to a non-General Office type, or from a non-General Office type to the General Office type. You cannot change a cloud desktop from the Graphics type to a non-Graphics type, or from a non-Graphics type to the Graphics type.
3\\. You can only increase the sizes of system and data disks. You cannot decrease the sizes of system and data disks.
4\\. If your cloud desktop uses the subscription billing method, the price difference is calculated based on the price before and after configuration changes. You may receive a refund, or must pay for the price difference.
5\\. If you need to change the configurations of a cloud desktop multiple times, we recommend that you wait at least 5 minutes between consecutive operations on the cloud desktop.
6\\. The cloud desktop for which you want to change the desktop type must be in the Stopped state.
* The changes do not affect your personal data on the cloud desktop.
@param request: ModifyDiskSpecRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyDiskSpecResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.root_disk_performance_level):
query['RootDiskPerformanceLevel'] = request.root_disk_performance_level
if not UtilClient.is_unset(request.user_disk_performance_level):
query['UserDiskPerformanceLevel'] = request.user_disk_performance_level
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDiskSpec',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyDiskSpecResponse(),
self.call_api(params, req, runtime)
)
def modify_disk_spec(self, request):
"""
You can call this operation to change the configurations, such as the desktop type and disk size, of a cloud desktop.
* Before you call this operation, you must know the cloud desktop types and the disk sizes for each type of cloud desktop that Elastic Desktop Service (EDS) provides.
* When you change the configurations of a cloud desktop, you must change the desktop type or the size of the system disk or data disk. You must configure at least one of the following parameters: DesktopType, RootDiskSizeGib, and UserDiskSizeGib. Take note of the following items:
1\\. Desktop types include the specifications of vCPUs, memory, and GPUs. You can change only the desktop type, instead of one of the specifications.
2\\. You cannot change a cloud desktop from the General Office type to a non-General Office type, or from a non-General Office type to the General Office type. You cannot change a cloud desktop from the Graphics type to a non-Graphics type, or from a non-Graphics type to the Graphics type.
3\\. You can only increase the sizes of system and data disks. You cannot decrease the sizes of system and data disks.
4\\. If your cloud desktop uses the subscription billing method, the price difference is calculated based on the price before and after configuration changes. You may receive a refund, or must pay for the price difference.
5\\. If you need to change the configurations of a cloud desktop multiple times, we recommend that you wait at least 5 minutes between consecutive operations on the cloud desktop.
6\\. The cloud desktop for which you want to change the desktop type must be in the Stopped state.
* The changes do not affect your personal data on the cloud desktop.
@param request: ModifyDiskSpecRequest
@return: ModifyDiskSpecResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_disk_spec_with_options(request, runtime)
def modify_entitlement_with_options(self, request, runtime):
"""
The cloud computer must be in the Running state.
* After you call this operation, the assignment result is immediately returned. You can call the [DescribeDesktops](~~436815~~) operation to query the assignment of the cloud computer. The value of the `ManagementFlags` response parameter indicates the assignment of the cloud computer. A value of `ASSIGNING` indicates that the cloud computer is being assigned, and other values indicate that the cloud computer is assigned.
* We recommend that you check the assignment every 2 to 5 seconds and perform the checks within 50 seconds. Typically, 1 to 5 seconds are required to complete the assignment.
@param request: ModifyEntitlementRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyEntitlementResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyEntitlement',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyEntitlementResponse(),
self.call_api(params, req, runtime)
)
def modify_entitlement(self, request):
"""
The cloud computer must be in the Running state.
* After you call this operation, the assignment result is immediately returned. You can call the [DescribeDesktops](~~436815~~) operation to query the assignment of the cloud computer. The value of the `ManagementFlags` response parameter indicates the assignment of the cloud computer. A value of `ASSIGNING` indicates that the cloud computer is being assigned, and other values indicate that the cloud computer is assigned.
* We recommend that you check the assignment every 2 to 5 seconds and perform the checks within 50 seconds. Typically, 1 to 5 seconds are required to complete the assignment.
@param request: ModifyEntitlementRequest
@return: ModifyEntitlementResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_entitlement_with_options(request, runtime)
def modify_image_attribute_with_options(self, request, runtime):
"""
You can call this operation to modify the attributes of only custom images that are in the Available state.
@param request: ModifyImageAttributeRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyImageAttributeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyImageAttribute',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyImageAttributeResponse(),
self.call_api(params, req, runtime)
)
def modify_image_attribute(self, request):
"""
You can call this operation to modify the attributes of only custom images that are in the Available state.
@param request: ModifyImageAttributeRequest
@return: ModifyImageAttributeResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_image_attribute_with_options(request, runtime)
def modify_image_permission_with_options(self, request, runtime):
"""
### [](#)Security of shared images
WUYING Workspace cannot guarantee the integrity and security of shared images. When you use a shared image, you must make sure that the image comes from a trusted sharer or account, and you are legally responsible for using the shared image.
### [](#)Quota and billing
* A shared image does not count against the image quotas of principals to which the image is shared.
* After a principal uses a shared image to create a cloud computer, the sharer is not charged for the shared image.
* You are not charged for shared images.
### [](#)Supported sharing behaviors
* You can share custom images with other Alibaba Cloud accounts.
* You can share custom images between accounts in the China site (aliyun.com) and the international site (alibabacloud.com).
### [](#)Unsupported sharing behaviors
* You cannot share images that are shared by other Alibaba Cloud accounts.
* You cannot share encrypted images.
* You cannot share images across regions. If you want to share an image across regions, you must copy the image to the destination region and then share the image. For more information, see [CopyImage](~~436978~~).
@param request: ModifyImagePermissionRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyImagePermissionResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.add_account):
query['AddAccount'] = request.add_account
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.remove_account):
query['RemoveAccount'] = request.remove_account
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyImagePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyImagePermissionResponse(),
self.call_api(params, req, runtime)
)
def modify_image_permission(self, request):
"""
### [](#)Security of shared images
WUYING Workspace cannot guarantee the integrity and security of shared images. When you use a shared image, you must make sure that the image comes from a trusted sharer or account, and you are legally responsible for using the shared image.
### [](#)Quota and billing
* A shared image does not count against the image quotas of principals to which the image is shared.
* After a principal uses a shared image to create a cloud computer, the sharer is not charged for the shared image.
* You are not charged for shared images.
### [](#)Supported sharing behaviors
* You can share custom images with other Alibaba Cloud accounts.
* You can share custom images between accounts in the China site (aliyun.com) and the international site (alibabacloud.com).
### [](#)Unsupported sharing behaviors
* You cannot share images that are shared by other Alibaba Cloud accounts.
* You cannot share encrypted images.
* You cannot share images across regions. If you want to share an image across regions, you must copy the image to the destination region and then share the image. For more information, see [CopyImage](~~436978~~).
@param request: ModifyImagePermissionRequest
@return: ModifyImagePermissionResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_image_permission_with_options(request, runtime)
def modify_nasdefault_mount_target_with_options(self, request, runtime):
"""
When you create a NAS file system, a mount target is automatically generated. By default, the mount target does not need to be changed. If the mount target is deleted by misoperation, you must specify a new mount target for the NAS file system in the workspace. You can call the [CreateMountTarget](~~62621~~) operation to create a mount target.
@param request: ModifyNASDefaultMountTargetRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyNASDefaultMountTargetResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.mount_target_domain):
query['MountTargetDomain'] = request.mount_target_domain
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyNASDefaultMountTarget',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyNASDefaultMountTargetResponse(),
self.call_api(params, req, runtime)
)
def modify_nasdefault_mount_target(self, request):
"""
When you create a NAS file system, a mount target is automatically generated. By default, the mount target does not need to be changed. If the mount target is deleted by misoperation, you must specify a new mount target for the NAS file system in the workspace. You can call the [CreateMountTarget](~~62621~~) operation to create a mount target.
@param request: ModifyNASDefaultMountTargetRequest
@return: ModifyNASDefaultMountTargetResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_nasdefault_mount_target_with_options(request, runtime)
def modify_network_package_bandwidth_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.bandwidth):
query['Bandwidth'] = request.bandwidth
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyNetworkPackageBandwidth',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyNetworkPackageBandwidthResponse(),
self.call_api(params, req, runtime)
)
def modify_network_package_bandwidth(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_network_package_bandwidth_with_options(request, runtime)
def modify_network_package_enabled_with_options(self, request, runtime):
"""
If you want to temporarily disable the Internet access of your cloud computer after the Internet access is enabled for your cloud computer, you can disable the premium bandwidth plan and restore it as needed.
@param request: ModifyNetworkPackageEnabledRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyNetworkPackageEnabledResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.enabled):
query['Enabled'] = request.enabled
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyNetworkPackageEnabled',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyNetworkPackageEnabledResponse(),
self.call_api(params, req, runtime)
)
def modify_network_package_enabled(self, request):
"""
If you want to temporarily disable the Internet access of your cloud computer after the Internet access is enabled for your cloud computer, you can disable the premium bandwidth plan and restore it as needed.
@param request: ModifyNetworkPackageEnabledRequest
@return: ModifyNetworkPackageEnabledResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_network_package_enabled_with_options(request, runtime)
def modify_office_site_attribute_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_access_type):
query['DesktopAccessType'] = request.desktop_access_type
if not UtilClient.is_unset(request.enable_admin_access):
query['EnableAdminAccess'] = request.enable_admin_access
if not UtilClient.is_unset(request.need_verify_login_risk):
query['NeedVerifyLoginRisk'] = request.need_verify_login_risk
if not UtilClient.is_unset(request.need_verify_zero_device):
query['NeedVerifyZeroDevice'] = request.need_verify_zero_device
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.office_site_name):
query['OfficeSiteName'] = request.office_site_name
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyOfficeSiteAttribute',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyOfficeSiteAttributeResponse(),
self.call_api(params, req, runtime)
)
def modify_office_site_attribute(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_office_site_attribute_with_options(request, runtime)
def modify_office_site_cross_desktop_access_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.enable_cross_desktop_access):
query['EnableCrossDesktopAccess'] = request.enable_cross_desktop_access
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyOfficeSiteCrossDesktopAccess',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyOfficeSiteCrossDesktopAccessResponse(),
self.call_api(params, req, runtime)
)
def modify_office_site_cross_desktop_access(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_office_site_cross_desktop_access_with_options(request, runtime)
def modify_office_site_mfa_enabled_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.mfa_enabled):
query['MfaEnabled'] = request.mfa_enabled
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyOfficeSiteMfaEnabled',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyOfficeSiteMfaEnabledResponse(),
self.call_api(params, req, runtime)
)
def modify_office_site_mfa_enabled(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_office_site_mfa_enabled_with_options(request, runtime)
def modify_policy_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.admin_access):
query['AdminAccess'] = request.admin_access
if not UtilClient.is_unset(request.app_content_protection):
query['AppContentProtection'] = request.app_content_protection
if not UtilClient.is_unset(request.authorize_access_policy_rule):
query['AuthorizeAccessPolicyRule'] = request.authorize_access_policy_rule
if not UtilClient.is_unset(request.authorize_security_policy_rule):
query['AuthorizeSecurityPolicyRule'] = request.authorize_security_policy_rule
if not UtilClient.is_unset(request.camera_redirect):
query['CameraRedirect'] = request.camera_redirect
if not UtilClient.is_unset(request.client_type):
query['ClientType'] = request.client_type
if not UtilClient.is_unset(request.clipboard):
query['Clipboard'] = request.clipboard
if not UtilClient.is_unset(request.domain_list):
query['DomainList'] = request.domain_list
if not UtilClient.is_unset(request.domain_resolve_rule):
query['DomainResolveRule'] = request.domain_resolve_rule
if not UtilClient.is_unset(request.domain_resolve_rule_type):
query['DomainResolveRuleType'] = request.domain_resolve_rule_type
if not UtilClient.is_unset(request.end_user_apply_admin_coordinate):
query['EndUserApplyAdminCoordinate'] = request.end_user_apply_admin_coordinate
if not UtilClient.is_unset(request.end_user_group_coordinate):
query['EndUserGroupCoordinate'] = request.end_user_group_coordinate
if not UtilClient.is_unset(request.gpu_acceleration):
query['GpuAcceleration'] = request.gpu_acceleration
if not UtilClient.is_unset(request.html_5access):
query['Html5Access'] = request.html_5access
if not UtilClient.is_unset(request.html_5file_transfer):
query['Html5FileTransfer'] = request.html_5file_transfer
if not UtilClient.is_unset(request.internet_communication_protocol):
query['InternetCommunicationProtocol'] = request.internet_communication_protocol
if not UtilClient.is_unset(request.local_drive):
query['LocalDrive'] = request.local_drive
if not UtilClient.is_unset(request.name):
query['Name'] = request.name
if not UtilClient.is_unset(request.net_redirect):
query['NetRedirect'] = request.net_redirect
if not UtilClient.is_unset(request.policy_group_id):
query['PolicyGroupId'] = request.policy_group_id
if not UtilClient.is_unset(request.preempt_login):
query['PreemptLogin'] = request.preempt_login
if not UtilClient.is_unset(request.preempt_login_user):
query['PreemptLoginUser'] = request.preempt_login_user
if not UtilClient.is_unset(request.printer_redirection):
query['PrinterRedirection'] = request.printer_redirection
if not UtilClient.is_unset(request.record_content):
query['RecordContent'] = request.record_content
if not UtilClient.is_unset(request.record_content_expires):
query['RecordContentExpires'] = request.record_content_expires
if not UtilClient.is_unset(request.recording):
query['Recording'] = request.recording
if not UtilClient.is_unset(request.recording_audio):
query['RecordingAudio'] = request.recording_audio
if not UtilClient.is_unset(request.recording_duration):
query['RecordingDuration'] = request.recording_duration
if not UtilClient.is_unset(request.recording_end_time):
query['RecordingEndTime'] = request.recording_end_time
if not UtilClient.is_unset(request.recording_expires):
query['RecordingExpires'] = request.recording_expires
if not UtilClient.is_unset(request.recording_fps):
query['RecordingFps'] = request.recording_fps
if not UtilClient.is_unset(request.recording_start_time):
query['RecordingStartTime'] = request.recording_start_time
if not UtilClient.is_unset(request.recording_user_notify):
query['RecordingUserNotify'] = request.recording_user_notify
if not UtilClient.is_unset(request.recording_user_notify_message):
query['RecordingUserNotifyMessage'] = request.recording_user_notify_message
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.remote_coordinate):
query['RemoteCoordinate'] = request.remote_coordinate
if not UtilClient.is_unset(request.revoke_access_policy_rule):
query['RevokeAccessPolicyRule'] = request.revoke_access_policy_rule
if not UtilClient.is_unset(request.revoke_security_policy_rule):
query['RevokeSecurityPolicyRule'] = request.revoke_security_policy_rule
if not UtilClient.is_unset(request.scope):
query['Scope'] = request.scope
if not UtilClient.is_unset(request.scope_value):
query['ScopeValue'] = request.scope_value
if not UtilClient.is_unset(request.usb_redirect):
query['UsbRedirect'] = request.usb_redirect
if not UtilClient.is_unset(request.usb_supply_redirect_rule):
query['UsbSupplyRedirectRule'] = request.usb_supply_redirect_rule
if not UtilClient.is_unset(request.video_redirect):
query['VideoRedirect'] = request.video_redirect
if not UtilClient.is_unset(request.visual_quality):
query['VisualQuality'] = request.visual_quality
if not UtilClient.is_unset(request.watermark):
query['Watermark'] = request.watermark
if not UtilClient.is_unset(request.watermark_anti_cam):
query['WatermarkAntiCam'] = request.watermark_anti_cam
if not UtilClient.is_unset(request.watermark_color):
query['WatermarkColor'] = request.watermark_color
if not UtilClient.is_unset(request.watermark_degree):
query['WatermarkDegree'] = request.watermark_degree
if not UtilClient.is_unset(request.watermark_font_size):
query['WatermarkFontSize'] = request.watermark_font_size
if not UtilClient.is_unset(request.watermark_font_style):
query['WatermarkFontStyle'] = request.watermark_font_style
if not UtilClient.is_unset(request.watermark_power):
query['WatermarkPower'] = request.watermark_power
if not UtilClient.is_unset(request.watermark_row_amount):
query['WatermarkRowAmount'] = request.watermark_row_amount
if not UtilClient.is_unset(request.watermark_security):
query['WatermarkSecurity'] = request.watermark_security
if not UtilClient.is_unset(request.watermark_transparency):
query['WatermarkTransparency'] = request.watermark_transparency
if not UtilClient.is_unset(request.watermark_transparency_value):
query['WatermarkTransparencyValue'] = request.watermark_transparency_value
if not UtilClient.is_unset(request.watermark_type):
query['WatermarkType'] = request.watermark_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyPolicyGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyPolicyGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_policy_group(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_policy_group_with_options(request, runtime)
def modify_user_entitlement_with_options(self, request, runtime):
"""
You can modify end users only for cloud computers that are in the Running state.
@param request: ModifyUserEntitlementRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyUserEntitlementResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.authorize_desktop_id):
query['AuthorizeDesktopId'] = request.authorize_desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.revoke_desktop_id):
query['RevokeDesktopId'] = request.revoke_desktop_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyUserEntitlement',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyUserEntitlementResponse(),
self.call_api(params, req, runtime)
)
def modify_user_entitlement(self, request):
"""
You can modify end users only for cloud computers that are in the Running state.
@param request: ModifyUserEntitlementRequest
@return: ModifyUserEntitlementResponse
"""
runtime = util_models.RuntimeOptions()
return self.modify_user_entitlement_with_options(request, runtime)
def modify_user_to_desktop_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.new_end_user_ids):
query['NewEndUserIds'] = request.new_end_user_ids
if not UtilClient.is_unset(request.old_end_user_ids):
query['OldEndUserIds'] = request.old_end_user_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyUserToDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ModifyUserToDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def modify_user_to_desktop_group(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_user_to_desktop_group_with_options(request, runtime)
def move_cds_file_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.conflict_policy):
query['ConflictPolicy'] = request.conflict_policy
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.parent_folder_id):
query['ParentFolderId'] = request.parent_folder_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='MoveCdsFile',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.MoveCdsFileResponse(),
self.call_api(params, req, runtime)
)
def move_cds_file(self, request):
runtime = util_models.RuntimeOptions()
return self.move_cds_file_with_options(request, runtime)
def reboot_desktops_with_options(self, request, runtime):
"""
The cloud computers that you want to restart must be in the Running state.
@param request: RebootDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: RebootDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RebootDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RebootDesktopsResponse(),
self.call_api(params, req, runtime)
)
def reboot_desktops(self, request):
"""
The cloud computers that you want to restart must be in the Running state.
@param request: RebootDesktopsRequest
@return: RebootDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.reboot_desktops_with_options(request, runtime)
def rebuild_desktops_with_options(self, request, runtime):
"""
Before you change the image of a cloud computer, take note of the following limits:
* You can select an image whose OS is different from the OS of the original image. The image change feature is not supported in the following regions: China (Hong Kong), Australia (Sydney), Singapore, and Japan (Tokyo).
* GPU images and non-GPU images cannot be exchanged. Graphical cloud computers can only use GPU-accelerated images. Non-graphical cloud computers can only use non-GPU-accelerated images.
After the image is changed, the system uses the new image to initialize the system disk of the cloud computer. This has the following impacts:
* Data in the system disk of the original cloud computer is cleared. Snapshots that are created based on the system disk of the original cloud computer can no longer be used. The system automatically deletes the snapshots.
* If the OS of the image is changed, the data in the data disks of the original cloud computer is cleared, and the snapshots that are created based on the data disks of the original cloud computer can no longer be used. The system automatically deletes the snapshots. If the OS of the image is not changed, the data in the data disks of the original cloud computer is retained, and the snapshots that are created based on the data disks of the original cloud computer can still be used.
@param request: RebuildDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: RebuildDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.operate_type):
query['OperateType'] = request.operate_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RebuildDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RebuildDesktopsResponse(),
self.call_api(params, req, runtime)
)
def rebuild_desktops(self, request):
"""
Before you change the image of a cloud computer, take note of the following limits:
* You can select an image whose OS is different from the OS of the original image. The image change feature is not supported in the following regions: China (Hong Kong), Australia (Sydney), Singapore, and Japan (Tokyo).
* GPU images and non-GPU images cannot be exchanged. Graphical cloud computers can only use GPU-accelerated images. Non-graphical cloud computers can only use non-GPU-accelerated images.
After the image is changed, the system uses the new image to initialize the system disk of the cloud computer. This has the following impacts:
* Data in the system disk of the original cloud computer is cleared. Snapshots that are created based on the system disk of the original cloud computer can no longer be used. The system automatically deletes the snapshots.
* If the OS of the image is changed, the data in the data disks of the original cloud computer is cleared, and the snapshots that are created based on the data disks of the original cloud computer can no longer be used. The system automatically deletes the snapshots. If the OS of the image is not changed, the data in the data disks of the original cloud computer is retained, and the snapshots that are created based on the data disks of the original cloud computer can still be used.
@param request: RebuildDesktopsRequest
@return: RebuildDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.rebuild_desktops_with_options(request, runtime)
def remove_file_permission_with_options(self, tmp_req, runtime):
UtilClient.validate_model(tmp_req)
request = ecd_20200930_models.RemoveFilePermissionShrinkRequest()
OpenApiUtilClient.convert(tmp_req, request)
if not UtilClient.is_unset(tmp_req.member_list):
request.member_list_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.member_list, 'MemberList', 'json')
query = {}
if not UtilClient.is_unset(request.cds_id):
query['CdsId'] = request.cds_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.file_id):
query['FileId'] = request.file_id
if not UtilClient.is_unset(request.group_id):
query['GroupId'] = request.group_id
if not UtilClient.is_unset(request.member_list_shrink):
query['MemberList'] = request.member_list_shrink
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RemoveFilePermission',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RemoveFilePermissionResponse(),
self.call_api(params, req, runtime)
)
def remove_file_permission(self, request):
runtime = util_models.RuntimeOptions()
return self.remove_file_permission_with_options(request, runtime)
def remove_user_from_desktop_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_ids):
query['DesktopGroupIds'] = request.desktop_group_ids
if not UtilClient.is_unset(request.end_user_ids):
query['EndUserIds'] = request.end_user_ids
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RemoveUserFromDesktopGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RemoveUserFromDesktopGroupResponse(),
self.call_api(params, req, runtime)
)
def remove_user_from_desktop_group(self, request):
runtime = util_models.RuntimeOptions()
return self.remove_user_from_desktop_group_with_options(request, runtime)
def remove_user_from_desktop_oversold_user_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.user_desktop_id):
query['UserDesktopId'] = request.user_desktop_id
if not UtilClient.is_unset(request.user_group_id):
query['UserGroupId'] = request.user_group_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RemoveUserFromDesktopOversoldUserGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RemoveUserFromDesktopOversoldUserGroupResponse(),
self.call_api(params, req, runtime)
)
def remove_user_from_desktop_oversold_user_group(self, request):
runtime = util_models.RuntimeOptions()
return self.remove_user_from_desktop_oversold_user_group_with_options(request, runtime)
def renew_desktop_oversold_group_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.oversold_group_id):
query['OversoldGroupId'] = request.oversold_group_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RenewDesktopOversoldGroup',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RenewDesktopOversoldGroupResponse(),
self.call_api(params, req, runtime)
)
def renew_desktop_oversold_group(self, request):
runtime = util_models.RuntimeOptions()
return self.renew_desktop_oversold_group_with_options(request, runtime)
def renew_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_type):
query['ResourceType'] = request.resource_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RenewDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RenewDesktopsResponse(),
self.call_api(params, req, runtime)
)
def renew_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.renew_desktops_with_options(request, runtime)
def renew_network_packages_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.auto_pay):
query['AutoPay'] = request.auto_pay
if not UtilClient.is_unset(request.network_package_id):
query['NetworkPackageId'] = request.network_package_id
if not UtilClient.is_unset(request.period):
query['Period'] = request.period
if not UtilClient.is_unset(request.period_unit):
query['PeriodUnit'] = request.period_unit
if not UtilClient.is_unset(request.promotion_id):
query['PromotionId'] = request.promotion_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RenewNetworkPackages',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RenewNetworkPackagesResponse(),
self.call_api(params, req, runtime)
)
def renew_network_packages(self, request):
runtime = util_models.RuntimeOptions()
return self.renew_network_packages_with_options(request, runtime)
def reset_desktops_with_options(self, request, runtime):
"""
> You can call this operation to reset only cloud computers in a cloud computer pool.
@param request: ResetDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ResetDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_group_ids):
query['DesktopGroupIds'] = request.desktop_group_ids
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.image_id):
query['ImageId'] = request.image_id
if not UtilClient.is_unset(request.pay_type):
query['PayType'] = request.pay_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.reset_scope):
query['ResetScope'] = request.reset_scope
if not UtilClient.is_unset(request.reset_type):
query['ResetType'] = request.reset_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ResetDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ResetDesktopsResponse(),
self.call_api(params, req, runtime)
)
def reset_desktops(self, request):
"""
> You can call this operation to reset only cloud computers in a cloud computer pool.
@param request: ResetDesktopsRequest
@return: ResetDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.reset_desktops_with_options(request, runtime)
def reset_nasdefault_mount_target_with_options(self, request, runtime):
"""
When you create a NAS file system, a mount target is automatically generated. By default, you do not need to modify the mount target of the NAS file system. If the mount target is disabled, you need to reset the mount target of the NAS file system.
@param request: ResetNASDefaultMountTargetRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ResetNASDefaultMountTargetResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.file_system_id):
query['FileSystemId'] = request.file_system_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ResetNASDefaultMountTarget',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ResetNASDefaultMountTargetResponse(),
self.call_api(params, req, runtime)
)
def reset_nasdefault_mount_target(self, request):
"""
When you create a NAS file system, a mount target is automatically generated. By default, you do not need to modify the mount target of the NAS file system. If the mount target is disabled, you need to reset the mount target of the NAS file system.
@param request: ResetNASDefaultMountTargetRequest
@return: ResetNASDefaultMountTargetResponse
"""
runtime = util_models.RuntimeOptions()
return self.reset_nasdefault_mount_target_with_options(request, runtime)
def reset_snapshot_with_options(self, request, runtime):
"""
Before you call this operation, make sure that the following operations are performed:
* The data that you want to retain is backed up.
> The disk restoration operation is irreversible. After you call this operation, the disk is restored to the status at the point in time when the snapshot was created. Data that is generated between the snapshot creation time and the current time is lost. Before you restore the disk based on the snapshot, make sure that you back up data.
* The cloud computer to which the disk belongs is stopped.
@param request: ResetSnapshotRequest
@param runtime: runtime options for this request RuntimeOptions
@return: ResetSnapshotResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.snapshot_id):
query['SnapshotId'] = request.snapshot_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ResetSnapshot',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.ResetSnapshotResponse(),
self.call_api(params, req, runtime)
)
def reset_snapshot(self, request):
"""
Before you call this operation, make sure that the following operations are performed:
* The data that you want to retain is backed up.
> The disk restoration operation is irreversible. After you call this operation, the disk is restored to the status at the point in time when the snapshot was created. Data that is generated between the snapshot creation time and the current time is lost. Before you restore the disk based on the snapshot, make sure that you back up data.
* The cloud computer to which the disk belongs is stopped.
@param request: ResetSnapshotRequest
@return: ResetSnapshotResponse
"""
runtime = util_models.RuntimeOptions()
return self.reset_snapshot_with_options(request, runtime)
def revoke_coordinate_privilege_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.co_id):
query['CoId'] = request.co_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_type):
query['UserType'] = request.user_type
if not UtilClient.is_unset(request.uuid):
query['Uuid'] = request.uuid
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RevokeCoordinatePrivilege',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RevokeCoordinatePrivilegeResponse(),
self.call_api(params, req, runtime)
)
def revoke_coordinate_privilege(self, request):
runtime = util_models.RuntimeOptions()
return self.revoke_coordinate_privilege_with_options(request, runtime)
def run_command_with_options(self, request, runtime):
"""
You can use the RunCommand operation to run scripts only on Windows cloud desktops.
@param request: RunCommandRequest
@param runtime: runtime options for this request RuntimeOptions
@return: RunCommandResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.command_content):
query['CommandContent'] = request.command_content
if not UtilClient.is_unset(request.content_encoding):
query['ContentEncoding'] = request.content_encoding
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.end_user_id):
query['EndUserId'] = request.end_user_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.timeout):
query['Timeout'] = request.timeout
if not UtilClient.is_unset(request.type):
query['Type'] = request.type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='RunCommand',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.RunCommandResponse(),
self.call_api(params, req, runtime)
)
def run_command(self, request):
"""
You can use the RunCommand operation to run scripts only on Windows cloud desktops.
@param request: RunCommandRequest
@return: RunCommandResponse
"""
runtime = util_models.RuntimeOptions()
return self.run_command_with_options(request, runtime)
def send_verify_code_with_options(self, request, runtime):
"""
You must call this operation to obtain the verification code that is required when you bind an advanced office network to a CEN instance that belongs to another Alibaba Cloud account. After you call this operation, the system sends a verification code to the email address associated with the Alibaba Cloud account to which the CEN instance belongs.
@param request: SendVerifyCodeRequest
@param runtime: runtime options for this request RuntimeOptions
@return: SendVerifyCodeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.extra_info):
query['ExtraInfo'] = request.extra_info
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.verify_code_action):
query['VerifyCodeAction'] = request.verify_code_action
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SendVerifyCode',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SendVerifyCodeResponse(),
self.call_api(params, req, runtime)
)
def send_verify_code(self, request):
"""
You must call this operation to obtain the verification code that is required when you bind an advanced office network to a CEN instance that belongs to another Alibaba Cloud account. After you call this operation, the system sends a verification code to the email address associated with the Alibaba Cloud account to which the CEN instance belongs.
@param request: SendVerifyCodeRequest
@return: SendVerifyCodeResponse
"""
runtime = util_models.RuntimeOptions()
return self.send_verify_code_with_options(request, runtime)
def set_desktop_group_scale_timer_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.scale_timer_infos):
query['ScaleTimerInfos'] = request.scale_timer_infos
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetDesktopGroupScaleTimer',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetDesktopGroupScaleTimerResponse(),
self.call_api(params, req, runtime)
)
def set_desktop_group_scale_timer(self, request):
runtime = util_models.RuntimeOptions()
return self.set_desktop_group_scale_timer_with_options(request, runtime)
def set_desktop_group_timer_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cron_expression):
query['CronExpression'] = request.cron_expression
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.force):
query['Force'] = request.force
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.reset_type):
query['ResetType'] = request.reset_type
if not UtilClient.is_unset(request.timer_type):
query['TimerType'] = request.timer_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetDesktopGroupTimer',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetDesktopGroupTimerResponse(),
self.call_api(params, req, runtime)
)
def set_desktop_group_timer(self, request):
runtime = util_models.RuntimeOptions()
return self.set_desktop_group_timer_with_options(request, runtime)
def set_desktop_group_timer_status_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.status):
query['Status'] = request.status
if not UtilClient.is_unset(request.timer_type):
query['TimerType'] = request.timer_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetDesktopGroupTimerStatus',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetDesktopGroupTimerStatusResponse(),
self.call_api(params, req, runtime)
)
def set_desktop_group_timer_status(self, request):
runtime = util_models.RuntimeOptions()
return self.set_desktop_group_timer_status_with_options(request, runtime)
def set_directory_sso_status_with_options(self, request, runtime):
"""
This operation is supported only for AD directories, not for RAM directories.
@param request: SetDirectorySsoStatusRequest
@param runtime: runtime options for this request RuntimeOptions
@return: SetDirectorySsoStatusResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.enable_sso):
query['EnableSso'] = request.enable_sso
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetDirectorySsoStatus',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetDirectorySsoStatusResponse(),
self.call_api(params, req, runtime)
)
def set_directory_sso_status(self, request):
"""
This operation is supported only for AD directories, not for RAM directories.
@param request: SetDirectorySsoStatusRequest
@return: SetDirectorySsoStatusResponse
"""
runtime = util_models.RuntimeOptions()
return self.set_directory_sso_status_with_options(request, runtime)
def set_idp_metadata_with_options(self, request, runtime):
"""
You can call this operation only for workspaces of the Active Directory (AD) and convenience account types.
@param request: SetIdpMetadataRequest
@param runtime: runtime options for this request RuntimeOptions
@return: SetIdpMetadataResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.directory_id):
query['DirectoryId'] = request.directory_id
if not UtilClient.is_unset(request.idp_metadata):
query['IdpMetadata'] = request.idp_metadata
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetIdpMetadata',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetIdpMetadataResponse(),
self.call_api(params, req, runtime)
)
def set_idp_metadata(self, request):
"""
You can call this operation only for workspaces of the Active Directory (AD) and convenience account types.
@param request: SetIdpMetadataRequest
@return: SetIdpMetadataResponse
"""
runtime = util_models.RuntimeOptions()
return self.set_idp_metadata_with_options(request, runtime)
def set_office_site_sso_status_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.enable_sso):
query['EnableSso'] = request.enable_sso
if not UtilClient.is_unset(request.office_site_id):
query['OfficeSiteId'] = request.office_site_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetOfficeSiteSsoStatus',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetOfficeSiteSsoStatusResponse(),
self.call_api(params, req, runtime)
)
def set_office_site_sso_status(self, request):
runtime = util_models.RuntimeOptions()
return self.set_office_site_sso_status_with_options(request, runtime)
def set_user_profile_path_rules_with_options(self, tmp_req, runtime):
UtilClient.validate_model(tmp_req)
request = ecd_20200930_models.SetUserProfilePathRulesShrinkRequest()
OpenApiUtilClient.convert(tmp_req, request)
if not UtilClient.is_unset(tmp_req.user_profile_path_rule):
request.user_profile_path_rule_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.user_profile_path_rule, 'UserProfilePathRule', 'json')
query = {}
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.user_profile_path_rule_shrink):
query['UserProfilePathRule'] = request.user_profile_path_rule_shrink
if not UtilClient.is_unset(request.user_profile_rule_type):
query['UserProfileRuleType'] = request.user_profile_rule_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SetUserProfilePathRules',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.SetUserProfilePathRulesResponse(),
self.call_api(params, req, runtime)
)
def set_user_profile_path_rules(self, request):
runtime = util_models.RuntimeOptions()
return self.set_user_profile_path_rules_with_options(request, runtime)
def start_desktops_with_options(self, request, runtime):
"""
The cloud computers that you want to start must be in the Stopped state.
@param request: StartDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: StartDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='StartDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.StartDesktopsResponse(),
self.call_api(params, req, runtime)
)
def start_desktops(self, request):
"""
The cloud computers that you want to start must be in the Stopped state.
@param request: StartDesktopsRequest
@return: StartDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.start_desktops_with_options(request, runtime)
def stop_desktops_with_options(self, request, runtime):
"""
The cloud computers that you want to stop must be in the Running state.
@param request: StopDesktopsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: StopDesktopsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.stopped_mode):
query['StoppedMode'] = request.stopped_mode
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='StopDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.StopDesktopsResponse(),
self.call_api(params, req, runtime)
)
def stop_desktops(self, request):
"""
The cloud computers that you want to stop must be in the Running state.
@param request: StopDesktopsRequest
@return: StopDesktopsResponse
"""
runtime = util_models.RuntimeOptions()
return self.stop_desktops_with_options(request, runtime)
def stop_invocation_with_options(self, request, runtime):
"""
When you stop a one-time execution of a command, the command continues to run on the cloud desktops where it has started to run, and will not run on the cloud desktops where it has not started to run.
@param request: StopInvocationRequest
@param runtime: runtime options for this request RuntimeOptions
@return: StopInvocationResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.invoke_id):
query['InvokeId'] = request.invoke_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='StopInvocation',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.StopInvocationResponse(),
self.call_api(params, req, runtime)
)
def stop_invocation(self, request):
"""
When you stop a one-time execution of a command, the command continues to run on the cloud desktops where it has started to run, and will not run on the cloud desktops where it has not started to run.
@param request: StopInvocationRequest
@return: StopInvocationResponse
"""
runtime = util_models.RuntimeOptions()
return self.stop_invocation_with_options(request, runtime)
def tag_resources_with_options(self, request, runtime):
"""
If TagKey is specified, the new TagValue value overrides the original TagValue value.
@param request: TagResourcesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: TagResourcesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_id):
query['ResourceId'] = request.resource_id
if not UtilClient.is_unset(request.resource_type):
query['ResourceType'] = request.resource_type
if not UtilClient.is_unset(request.tag):
query['Tag'] = request.tag
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='TagResources',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.TagResourcesResponse(),
self.call_api(params, req, runtime)
)
def tag_resources(self, request):
"""
If TagKey is specified, the new TagValue value overrides the original TagValue value.
@param request: TagResourcesRequest
@return: TagResourcesResponse
"""
runtime = util_models.RuntimeOptions()
return self.tag_resources_with_options(request, runtime)
def unbind_user_desktop_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_agent_ids):
query['DesktopAgentIds'] = request.desktop_agent_ids
if not UtilClient.is_unset(request.desktop_group_id):
query['DesktopGroupId'] = request.desktop_group_id
if not UtilClient.is_unset(request.desktop_ids):
query['DesktopIds'] = request.desktop_ids
if not UtilClient.is_unset(request.force):
query['Force'] = request.force
if not UtilClient.is_unset(request.reason):
query['Reason'] = request.reason
if not UtilClient.is_unset(request.user_desktop_ids):
query['UserDesktopIds'] = request.user_desktop_ids
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='UnbindUserDesktop',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.UnbindUserDesktopResponse(),
self.call_api(params, req, runtime)
)
def unbind_user_desktop(self, request):
runtime = util_models.RuntimeOptions()
return self.unbind_user_desktop_with_options(request, runtime)
def unlock_virtual_mfadevice_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.serial_number):
query['SerialNumber'] = request.serial_number
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='UnlockVirtualMFADevice',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.UnlockVirtualMFADeviceResponse(),
self.call_api(params, req, runtime)
)
def unlock_virtual_mfadevice(self, request):
runtime = util_models.RuntimeOptions()
return self.unlock_virtual_mfadevice_with_options(request, runtime)
def untag_resources_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.all):
query['All'] = request.all
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.resource_id):
query['ResourceId'] = request.resource_id
if not UtilClient.is_unset(request.resource_type):
query['ResourceType'] = request.resource_type
if not UtilClient.is_unset(request.tag_key):
query['TagKey'] = request.tag_key
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='UntagResources',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.UntagResourcesResponse(),
self.call_api(params, req, runtime)
)
def untag_resources(self, request):
runtime = util_models.RuntimeOptions()
return self.untag_resources_with_options(request, runtime)
def update_fota_task_with_options(self, request, runtime):
"""
You can call this operation to manage each image update task. This operation is valid only when the auto-update switch in the image update module for global image updates is turned off. If the auto-update switch is turned on, the switches for each image update task are always turned on. If you want to turn on or off the auto-update switch, go to the WUYING Workspace console and choose *Operations > Image Updates** in the left-side navigation pane.
@param request: UpdateFotaTaskRequest
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateFotaTaskResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.task_uid):
query['TaskUid'] = request.task_uid
if not UtilClient.is_unset(request.user_status):
query['UserStatus'] = request.user_status
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='UpdateFotaTask',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.UpdateFotaTaskResponse(),
self.call_api(params, req, runtime)
)
def update_fota_task(self, request):
"""
You can call this operation to manage each image update task. This operation is valid only when the auto-update switch in the image update module for global image updates is turned off. If the auto-update switch is turned on, the switches for each image update task are always turned on. If you want to turn on or off the auto-update switch, go to the WUYING Workspace console and choose *Operations > Image Updates** in the left-side navigation pane.
@param request: UpdateFotaTaskRequest
@return: UpdateFotaTaskResponse
"""
runtime = util_models.RuntimeOptions()
return self.update_fota_task_with_options(request, runtime)
def upload_image_with_options(self, request, runtime):
"""
> You can upload only Windows images.
@param request: UploadImageRequest
@param runtime: runtime options for this request RuntimeOptions
@return: UploadImageResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.data_disk_size):
query['DataDiskSize'] = request.data_disk_size
if not UtilClient.is_unset(request.description):
query['Description'] = request.description
if not UtilClient.is_unset(request.enable_security_check):
query['EnableSecurityCheck'] = request.enable_security_check
if not UtilClient.is_unset(request.gpu_category):
query['GpuCategory'] = request.gpu_category
if not UtilClient.is_unset(request.gpu_driver_type):
query['GpuDriverType'] = request.gpu_driver_type
if not UtilClient.is_unset(request.image_name):
query['ImageName'] = request.image_name
if not UtilClient.is_unset(request.license_type):
query['LicenseType'] = request.license_type
if not UtilClient.is_unset(request.os_type):
query['OsType'] = request.os_type
if not UtilClient.is_unset(request.oss_object_path):
query['OssObjectPath'] = request.oss_object_path
if not UtilClient.is_unset(request.protocol_type):
query['ProtocolType'] = request.protocol_type
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='UploadImage',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.UploadImageResponse(),
self.call_api(params, req, runtime)
)
def upload_image(self, request):
"""
> You can upload only Windows images.
@param request: UploadImageRequest
@return: UploadImageResponse
"""
runtime = util_models.RuntimeOptions()
return self.upload_image_with_options(request, runtime)
def verify_cen_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.cen_id):
query['CenId'] = request.cen_id
if not UtilClient.is_unset(request.cen_owner_id):
query['CenOwnerId'] = request.cen_owner_id
if not UtilClient.is_unset(request.cidr_block):
query['CidrBlock'] = request.cidr_block
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
if not UtilClient.is_unset(request.verify_code):
query['VerifyCode'] = request.verify_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='VerifyCen',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.VerifyCenResponse(),
self.call_api(params, req, runtime)
)
def verify_cen(self, request):
runtime = util_models.RuntimeOptions()
return self.verify_cen_with_options(request, runtime)
def wakeup_desktops_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.desktop_id):
query['DesktopId'] = request.desktop_id
if not UtilClient.is_unset(request.region_id):
query['RegionId'] = request.region_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='WakeupDesktops',
version='2020-09-30',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
ecd_20200930_models.WakeupDesktopsResponse(),
self.call_api(params, req, runtime)
)
def wakeup_desktops(self, request):
runtime = util_models.RuntimeOptions()
return self.wakeup_desktops_with_options(request, runtime)