dbs-20210101/alibabacloud_dbs20210101/client.py (584 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_dbs20210101 import models as dbs_20210101_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._endpoint_rule = 'regional'
self._endpoint_map = {
'cn-qingdao': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-beijing': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-chengdu': 'dbs-api.cn-chengdu.aliyuncs.com',
'cn-zhangjiakou': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-huhehaote': 'dbs-api.cn-huhehaote.aliyuncs.com',
'cn-hangzhou': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-shanghai': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-shenzhen': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-hongkong': 'dbs-api.cn-hangzhou.aliyuncs.com',
'ap-southeast-1': 'dbs-api.ap-southeast-1.aliyuncs.com',
'ap-southeast-2': 'dbs-api.ap-southeast-2.aliyuncs.com',
'ap-southeast-3': 'dbs-api.ap-southeast-3.aliyuncs.com',
'ap-southeast-5': 'dbs-api.ap-southeast-5.aliyuncs.com',
'ap-northeast-1': 'dbs-api.ap-northeast-1.aliyuncs.com',
'us-west-1': 'dbs-api.cn-hangzhou.aliyuncs.com',
'us-east-1': 'dbs-api.cn-hangzhou.aliyuncs.com',
'eu-central-1': 'dbs-api.eu-central-1.aliyuncs.com',
'cn-hangzhou-finance': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-shanghai-finance-1': 'dbs-api.cn-hangzhou.aliyuncs.com',
'cn-shenzhen-finance-1': 'dbs-api.cn-hangzhou.aliyuncs.com',
'ap-south-1': 'dbs-api.ap-south-1.aliyuncs.com',
'eu-west-1': 'dbs-api.eu-west-1.aliyuncs.com',
'me-east-1': 'dbs-api.me-east-1.aliyuncs.com'
}
self.check_config(config)
self._endpoint = self.get_endpoint('dbs', 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 change_resource_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.new_resource_group_id):
query['NewResourceGroupId'] = request.new_resource_group_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
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
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ChangeResourceGroup',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.ChangeResourceGroupResponse(),
self.call_api(params, req, runtime)
)
def change_resource_group(self, request):
runtime = util_models.RuntimeOptions()
return self.change_resource_group_with_options(request, runtime)
def create_download_with_options(self, request, runtime):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
For the instances that meet your business requirements, you can create an advanced download task by point in time or backup set. You can set the download destination to a URL or directly upload the downloaded backup set to your Object Storage Service (OSS) bucket to facilitate data analysis and offline archiving.
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: CreateDownloadRequest
@param runtime: runtime options for this request RuntimeOptions
@return: CreateDownloadResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.bak_set_id):
query['BakSetId'] = request.bak_set_id
if not UtilClient.is_unset(request.bak_set_size):
query['BakSetSize'] = request.bak_set_size
if not UtilClient.is_unset(request.bak_set_type):
query['BakSetType'] = request.bak_set_type
if not UtilClient.is_unset(request.download_point_in_time):
query['DownloadPointInTime'] = request.download_point_in_time
if not UtilClient.is_unset(request.format_type):
query['FormatType'] = request.format_type
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
if not UtilClient.is_unset(request.target_bucket):
query['TargetBucket'] = request.target_bucket
if not UtilClient.is_unset(request.target_oss_region):
query['TargetOssRegion'] = request.target_oss_region
if not UtilClient.is_unset(request.target_path):
query['TargetPath'] = request.target_path
if not UtilClient.is_unset(request.target_type):
query['TargetType'] = request.target_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='CreateDownload',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.CreateDownloadResponse(),
self.call_api(params, req, runtime)
)
def create_download(self, request):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
For the instances that meet your business requirements, you can create an advanced download task by point in time or backup set. You can set the download destination to a URL or directly upload the downloaded backup set to your Object Storage Service (OSS) bucket to facilitate data analysis and offline archiving.
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: CreateDownloadRequest
@return: CreateDownloadResponse
"""
runtime = util_models.RuntimeOptions()
return self.create_download_with_options(request, runtime)
def delete_sandbox_instance_with_options(self, request, runtime):
"""
This operation is available only for the Database Backup (DBS) API of the 2021-01-01 version.
@param request: DeleteSandboxInstanceRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteSandboxInstanceResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_plan_id):
query['BackupPlanId'] = request.backup_plan_id
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.zone_id):
query['ZoneId'] = request.zone_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteSandboxInstance',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DeleteSandboxInstanceResponse(),
self.call_api(params, req, runtime)
)
def delete_sandbox_instance(self, request):
"""
This operation is available only for the Database Backup (DBS) API of the 2021-01-01 version.
@param request: DeleteSandboxInstanceRequest
@return: DeleteSandboxInstanceResponse
"""
runtime = util_models.RuntimeOptions()
return self.delete_sandbox_instance_with_options(request, runtime)
def describe_backup_data_list_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_id):
query['BackupId'] = request.backup_id
if not UtilClient.is_unset(request.backup_method):
query['BackupMethod'] = request.backup_method
if not UtilClient.is_unset(request.backup_mode):
query['BackupMode'] = request.backup_mode
if not UtilClient.is_unset(request.backup_scale):
query['BackupScale'] = request.backup_scale
if not UtilClient.is_unset(request.backup_status):
query['BackupStatus'] = request.backup_status
if not UtilClient.is_unset(request.backup_type):
query['BackupType'] = request.backup_type
if not UtilClient.is_unset(request.data_source_id):
query['DataSourceId'] = request.data_source_id
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.instance_is_deleted):
query['InstanceIsDeleted'] = request.instance_is_deleted
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.instance_region):
query['InstanceRegion'] = request.instance_region
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_code):
query['RegionCode'] = request.region_code
if not UtilClient.is_unset(request.scene_type):
query['SceneType'] = request.scene_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='DescribeBackupDataList',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeBackupDataListResponse(),
self.call_api(params, req, runtime)
)
def describe_backup_data_list(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_backup_data_list_with_options(request, runtime)
def describe_backup_policy_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeBackupPolicy',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeBackupPolicyResponse(),
self.call_api(params, req, runtime)
)
def describe_backup_policy(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_backup_policy_with_options(request, runtime)
def describe_dbtables_recovery_backup_set_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDBTablesRecoveryBackupSet',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDBTablesRecoveryBackupSetResponse(),
self.call_api(params, req, runtime)
)
def describe_dbtables_recovery_backup_set(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_dbtables_recovery_backup_set_with_options(request, runtime)
def describe_dbtables_recovery_state_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDBTablesRecoveryState',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDBTablesRecoveryStateResponse(),
self.call_api(params, req, runtime)
)
def describe_dbtables_recovery_state(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_dbtables_recovery_state_with_options(request, runtime)
def describe_dbtables_recovery_time_range_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDBTablesRecoveryTimeRange',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDBTablesRecoveryTimeRangeResponse(),
self.call_api(params, req, runtime)
)
def describe_dbtables_recovery_time_range(self, request):
runtime = util_models.RuntimeOptions()
return self.describe_dbtables_recovery_time_range_with_options(request, runtime)
def describe_download_backup_set_storage_info_with_options(self, request, runtime):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadBackupSetStorageInfoRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeDownloadBackupSetStorageInfoResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_set_id):
query['BackupSetId'] = request.backup_set_id
if not UtilClient.is_unset(request.duration):
query['Duration'] = request.duration
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
if not UtilClient.is_unset(request.task_id):
query['TaskId'] = request.task_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDownloadBackupSetStorageInfo',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDownloadBackupSetStorageInfoResponse(),
self.call_api(params, req, runtime)
)
def describe_download_backup_set_storage_info(self, request):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadBackupSetStorageInfoRequest
@return: DescribeDownloadBackupSetStorageInfoResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_download_backup_set_storage_info_with_options(request, runtime)
def describe_download_support_with_options(self, request, runtime):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
You can create an advanced download task by point in time or backup set. You can set the download destination to a URL or directly upload the downloaded backup set to your Object Storage Service (OSS) bucket to facilitate data analysis and offline archiving.
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadSupportRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeDownloadSupportResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDownloadSupport',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDownloadSupportResponse(),
self.call_api(params, req, runtime)
)
def describe_download_support(self, request):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
You can create an advanced download task by point in time or backup set. You can set the download destination to a URL or directly upload the downloaded backup set to your Object Storage Service (OSS) bucket to facilitate data analysis and offline archiving.
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadSupportRequest
@return: DescribeDownloadSupportResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_download_support_with_options(request, runtime)
def describe_download_task_with_options(self, request, runtime):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadTaskRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeDownloadTaskResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_set_id):
query['BackupSetId'] = request.backup_set_id
if not UtilClient.is_unset(request.current_page):
query['CurrentPage'] = request.current_page
if not UtilClient.is_unset(request.datasource_id):
query['DatasourceId'] = request.datasource_id
if not UtilClient.is_unset(request.end_time):
query['EndTime'] = request.end_time
if not UtilClient.is_unset(request.instance_name):
query['InstanceName'] = request.instance_name
if not UtilClient.is_unset(request.order_column):
query['OrderColumn'] = request.order_column
if not UtilClient.is_unset(request.order_direct):
query['OrderDirect'] = request.order_direct
if not UtilClient.is_unset(request.page_size):
query['PageSize'] = request.page_size
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
if not UtilClient.is_unset(request.start_time):
query['StartTime'] = request.start_time
if not UtilClient.is_unset(request.state):
query['State'] = request.state
if not UtilClient.is_unset(request.task_type):
query['TaskType'] = request.task_type
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeDownloadTask',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeDownloadTaskResponse(),
self.call_api(params, req, runtime)
)
def describe_download_task(self, request):
"""
### [](#)Supported database engines
* ApsaraDB RDS for MySQL
* ApsaraDB RDS for PostgreSQL
* PolarDB for MySQL
### [](#)References
* [Download the backup files of an ApsaraDB RDS for MySQL instance](~~98819~~)
* [Download the backup files of an ApsaraDB RDS for PostgreSQL instance](~~96774~~)
* [Download the backup files of a PolarDB for MySQL cluster](~~2627635~~)
@param request: DescribeDownloadTaskRequest
@return: DescribeDownloadTaskResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_download_task_with_options(request, runtime)
def describe_sandbox_backup_sets_with_options(self, request, runtime):
"""
Before you call this operation, you must enable the sandbox feature for the database instance. For more information, see [Use the emergency recovery feature of an ApsaraDB RDS for MySQL instance](~~203154~~) or [Create a sandbox instance for emergency disaster recovery of a self-managed MySQL database](~~185577~~). This operation is available only for the Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxBackupSetsRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeSandboxBackupSetsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_plan_id):
query['BackupPlanId'] = request.backup_plan_id
if not UtilClient.is_unset(request.backup_set_id):
query['BackupSetId'] = request.backup_set_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
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeSandboxBackupSets',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeSandboxBackupSetsResponse(),
self.call_api(params, req, runtime)
)
def describe_sandbox_backup_sets(self, request):
"""
Before you call this operation, you must enable the sandbox feature for the database instance. For more information, see [Use the emergency recovery feature of an ApsaraDB RDS for MySQL instance](~~203154~~) or [Create a sandbox instance for emergency disaster recovery of a self-managed MySQL database](~~185577~~). This operation is available only for the Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxBackupSetsRequest
@return: DescribeSandboxBackupSetsResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_sandbox_backup_sets_with_options(request, runtime)
def describe_sandbox_instances_with_options(self, request, runtime):
"""
This operation is available only in Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxInstancesRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeSandboxInstancesResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_plan_id):
query['BackupPlanId'] = request.backup_plan_id
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_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
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeSandboxInstances',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeSandboxInstancesResponse(),
self.call_api(params, req, runtime)
)
def describe_sandbox_instances(self, request):
"""
This operation is available only in Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxInstancesRequest
@return: DescribeSandboxInstancesResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_sandbox_instances_with_options(request, runtime)
def describe_sandbox_recovery_time_with_options(self, request, runtime):
"""
Before you call this operation, you must enable the sandbox feature for the database instance. For more information, see [Use the emergency recovery feature of an ApsaraDB RDS for MySQL instance](~~203154~~) or [Create a sandbox instance for emergency disaster recovery of a self-managed MySQL database](~~185577~~). This operation is available only in Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxRecoveryTimeRequest
@param runtime: runtime options for this request RuntimeOptions
@return: DescribeSandboxRecoveryTimeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.backup_plan_id):
query['BackupPlanId'] = request.backup_plan_id
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DescribeSandboxRecoveryTime',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.DescribeSandboxRecoveryTimeResponse(),
self.call_api(params, req, runtime)
)
def describe_sandbox_recovery_time(self, request):
"""
Before you call this operation, you must enable the sandbox feature for the database instance. For more information, see [Use the emergency recovery feature of an ApsaraDB RDS for MySQL instance](~~203154~~) or [Create a sandbox instance for emergency disaster recovery of a self-managed MySQL database](~~185577~~). This operation is available only in Database Backup (DBS) API of the 2021-01-01 version.
@param request: DescribeSandboxRecoveryTimeRequest
@return: DescribeSandboxRecoveryTimeResponse
"""
runtime = util_models.RuntimeOptions()
return self.describe_sandbox_recovery_time_with_options(request, runtime)
def modify_dbtables_recovery_state_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.category):
query['Category'] = request.category
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
if not UtilClient.is_unset(request.retention):
query['Retention'] = request.retention
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ModifyDBTablesRecoveryState',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.ModifyDBTablesRecoveryStateResponse(),
self.call_api(params, req, runtime)
)
def modify_dbtables_recovery_state(self, request):
runtime = util_models.RuntimeOptions()
return self.modify_dbtables_recovery_state_with_options(request, runtime)
def support_dbtable_recovery_with_options(self, request, runtime):
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.instance_id):
query['InstanceId'] = request.instance_id
if not UtilClient.is_unset(request.region_code):
query['RegionCode'] = request.region_code
req = open_api_models.OpenApiRequest(
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='SupportDBTableRecovery',
version='2021-01-01',
protocol='HTTPS',
pathname='/',
method='POST',
auth_type='AK',
style='RPC',
req_body_type='formData',
body_type='json'
)
return TeaCore.from_map(
dbs_20210101_models.SupportDBTableRecoveryResponse(),
self.call_api(params, req, runtime)
)
def support_dbtable_recovery(self, request):
runtime = util_models.RuntimeOptions()
return self.support_dbtable_recovery_with_options(request, runtime)