2023-07-17 09:56:51 +08:00

155 lines
17 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*
* Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace TencentCloud\Dcdb\V20180411;
use TencentCloud\Common\AbstractClient;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Credential;
use TencentCloud\Dcdb\V20180411\Models as Models;
/**
* @method Models\ActiveHourDCDBInstanceResponse ActiveHourDCDBInstance(Models\ActiveHourDCDBInstanceRequest $req) 解隔离TDSQL按量计费实例
* @method Models\AssociateSecurityGroupsResponse AssociateSecurityGroups(Models\AssociateSecurityGroupsRequest $req) 本接口 (AssociateSecurityGroups) 用于安全组批量绑定云资源。
* @method Models\CancelDcnJobResponse CancelDcnJob(Models\CancelDcnJobRequest $req) 取消DCN同步
* @method Models\CloneAccountResponse CloneAccount(Models\CloneAccountRequest $req) 本接口CloneAccount用于克隆实例账户。
* @method Models\CloseDBExtranetAccessResponse CloseDBExtranetAccess(Models\CloseDBExtranetAccessRequest $req) 本接口(CloseDBExtranetAccess)用于关闭云数据库实例的外网访问。关闭外网访问后,外网地址将不可访问,查询实例列表接口将不返回对应实例的外网域名和端口信息。
* @method Models\CopyAccountPrivilegesResponse CopyAccountPrivileges(Models\CopyAccountPrivilegesRequest $req) 本接口CopyAccountPrivileges用于复制云数据库账号的权限。
注意相同用户名不同Host是不同的账号Readonly属性相同的账号之间才能复制权限。
* @method Models\CreateAccountResponse CreateAccount(Models\CreateAccountRequest $req) 本接口CreateAccount用于创建云数据库账号。一个实例可以创建多个不同的账号相同的用户名+不同的host是不同的账号。
* @method Models\CreateDCDBInstanceResponse CreateDCDBInstance(Models\CreateDCDBInstanceRequest $req) 本接口CreateDCDBInstance用于创建包年包月的TDSQL实例可通过传入实例规格、数据库版本号、购买时长等信息创建云数据库实例。
* @method Models\CreateDedicatedClusterDCDBInstanceResponse CreateDedicatedClusterDCDBInstance(Models\CreateDedicatedClusterDCDBInstanceRequest $req) 创建TDSQL独享集群实例
* @method Models\CreateHourDCDBInstanceResponse CreateHourDCDBInstance(Models\CreateHourDCDBInstanceRequest $req) 创建TDSQL按量计费实例
* @method Models\CreateTmpDCDBInstanceResponse CreateTmpDCDBInstance(Models\CreateTmpDCDBInstanceRequest $req) 回档TDSQL实例
* @method Models\DeleteAccountResponse DeleteAccount(Models\DeleteAccountRequest $req) 本接口DeleteAccount用于删除云数据库账号。用户名+host唯一确定一个账号。
* @method Models\DescribeAccountPrivilegesResponse DescribeAccountPrivileges(Models\DescribeAccountPrivilegesRequest $req) 本接口DescribeAccountPrivileges用于查询云数据库账号权限。
注意注意相同用户名不同Host是不同的账号。
* @method Models\DescribeAccountsResponse DescribeAccounts(Models\DescribeAccountsRequest $req) 本接口DescribeAccounts用于查询指定云数据库实例的账号列表。
* @method Models\DescribeBackupFilesResponse DescribeBackupFiles(Models\DescribeBackupFilesRequest $req) 本接口(DescribeBackupFiles)用于查看备份文件列表。
* @method Models\DescribeDBEncryptAttributesResponse DescribeDBEncryptAttributes(Models\DescribeDBEncryptAttributesRequest $req) 本接口(DescribeDBEncryptAttributes)用于查询实例数据加密状态。
* @method Models\DescribeDBLogFilesResponse DescribeDBLogFiles(Models\DescribeDBLogFilesRequest $req) 本接口(DescribeDBLogFiles)用于获取数据库的各种日志列表包括冷备、binlog、errlog和slowlog。
* @method Models\DescribeDBParametersResponse DescribeDBParameters(Models\DescribeDBParametersRequest $req) 本接口(DescribeDBParameters)用于获取数据库的当前参数设置。
* @method Models\DescribeDBSecurityGroupsResponse DescribeDBSecurityGroups(Models\DescribeDBSecurityGroupsRequest $req) 本接口DescribeDBSecurityGroups用于查询实例安全组信息
* @method Models\DescribeDBSlowLogsResponse DescribeDBSlowLogs(Models\DescribeDBSlowLogsRequest $req) 本接口(DescribeDBSlowLogs)用于查询慢查询日志列表。
* @method Models\DescribeDBSyncModeResponse DescribeDBSyncMode(Models\DescribeDBSyncModeRequest $req) 本接口DescribeDBSyncMode用于查询云数据库实例的同步模式。
* @method Models\DescribeDBTmpInstancesResponse DescribeDBTmpInstances(Models\DescribeDBTmpInstancesRequest $req) 本接口DescribeDBTmpInstances用于获取实例回档生成的临时实例
* @method Models\DescribeDCDBInstanceDetailResponse DescribeDCDBInstanceDetail(Models\DescribeDCDBInstanceDetailRequest $req) 本接口DescribeDCDBInstanceDetail用于获取TDSQL实例详情
* @method Models\DescribeDCDBInstanceNodeInfoResponse DescribeDCDBInstanceNodeInfo(Models\DescribeDCDBInstanceNodeInfoRequest $req) 本接口DescribeDCDBInstanceNodeInfo用于获取实例节点信息
* @method Models\DescribeDCDBInstancesResponse DescribeDCDBInstances(Models\DescribeDCDBInstancesRequest $req) 查询云数据库实例列表支持通过项目ID、实例ID、内网地址、实例名称等来筛选实例。
如果不指定任何筛选条件则默认返回10条实例记录单次请求最多支持返回100条实例记录。
* @method Models\DescribeDCDBPriceResponse DescribeDCDBPrice(Models\DescribeDCDBPriceRequest $req) 本接口DescribeDCDBPrice用于在购买实例前查询实例的价格。
* @method Models\DescribeDCDBRenewalPriceResponse DescribeDCDBRenewalPrice(Models\DescribeDCDBRenewalPriceRequest $req) 本接口DescribeDCDBRenewalPrice用于在续费分布式数据库实例时查询续费的价格。
* @method Models\DescribeDCDBSaleInfoResponse DescribeDCDBSaleInfo(Models\DescribeDCDBSaleInfoRequest $req) 本接口(DescribeDCDBSaleInfo)用于查询分布式数据库可售卖的地域和可用区信息。
* @method Models\DescribeDCDBShardsResponse DescribeDCDBShards(Models\DescribeDCDBShardsRequest $req) 本接口DescribeDCDBShards用于查询云数据库实例的分片信息。
* @method Models\DescribeDCDBUpgradePriceResponse DescribeDCDBUpgradePrice(Models\DescribeDCDBUpgradePriceRequest $req) 本接口DescribeDCDBUpgradePrice用于查询变配分布式数据库实例价格。
* @method Models\DescribeDatabaseObjectsResponse DescribeDatabaseObjects(Models\DescribeDatabaseObjectsRequest $req) 本接口DescribeDatabaseObjects用于查询云数据库实例的数据库中的对象列表包含表、存储过程、视图和函数。
* @method Models\DescribeDatabaseTableResponse DescribeDatabaseTable(Models\DescribeDatabaseTableRequest $req) 本接口DescribeDatabaseTable用于查询云数据库实例的表信息。
* @method Models\DescribeDatabasesResponse DescribeDatabases(Models\DescribeDatabasesRequest $req) 本接口DescribeDatabases用于查询云数据库实例的数据库列表。
* @method Models\DescribeDcnDetailResponse DescribeDcnDetail(Models\DescribeDcnDetailRequest $req) 获取实例灾备详情
* @method Models\DescribeFileDownloadUrlResponse DescribeFileDownloadUrl(Models\DescribeFileDownloadUrlRequest $req) 本接口(DescribeFileDownloadUrl)用于获取数据库指定备份或日志文件的下载连接。
* @method Models\DescribeFlowResponse DescribeFlow(Models\DescribeFlowRequest $req) 本接口DescribeFlow用于查询流程状态
* @method Models\DescribeOrdersResponse DescribeOrders(Models\DescribeOrdersRequest $req) 本接口DescribeOrders用于查询分布式数据库订单信息。传入订单ID来查询订单关联的分布式数据库实例和对应的任务流程ID。
* @method Models\DescribeProjectSecurityGroupsResponse DescribeProjectSecurityGroups(Models\DescribeProjectSecurityGroupsRequest $req) 本接口DescribeProjectSecurityGroups用于查询项目安全组信息
* @method Models\DescribeProjectsResponse DescribeProjects(Models\DescribeProjectsRequest $req) 本接口DescribeProjects用于查询项目列表
* @method Models\DescribeShardSpecResponse DescribeShardSpec(Models\DescribeShardSpecRequest $req) 查询可创建的分布式数据库可售卖的分片规格配置。
* @method Models\DescribeSqlLogsResponse DescribeSqlLogs(Models\DescribeSqlLogsRequest $req) 已废弃接口
本接口DescribeSqlLogs用于获取实例SQL日志。
* @method Models\DescribeUserTasksResponse DescribeUserTasks(Models\DescribeUserTasksRequest $req) 本接口DescribeUserTasks用于拉取用户任务列表
* @method Models\DestroyDCDBInstanceResponse DestroyDCDBInstance(Models\DestroyDCDBInstanceRequest $req) 本接口(DestroyDCDBInstance)用于销毁已隔离的TDSQL包年包月实例。
* @method Models\DestroyHourDCDBInstanceResponse DestroyHourDCDBInstance(Models\DestroyHourDCDBInstanceRequest $req) 本接口DestroyHourDCDBInstance用于TDSQL销毁按量计费实例。
* @method Models\DisassociateSecurityGroupsResponse DisassociateSecurityGroups(Models\DisassociateSecurityGroupsRequest $req) 本接口(DisassociateSecurityGroups)用于安全组批量解绑实例。
* @method Models\FlushBinlogResponse FlushBinlog(Models\FlushBinlogRequest $req) 相当于在所有分片的mysqld中执行flush logs完成切分的binlog将展示在各个分片控制台binlog列表里。
* @method Models\GrantAccountPrivilegesResponse GrantAccountPrivileges(Models\GrantAccountPrivilegesRequest $req) 本接口GrantAccountPrivileges用于给云数据库账号赋权。
注意相同用户名不同Host是不同的账号。
* @method Models\InitDCDBInstancesResponse InitDCDBInstances(Models\InitDCDBInstancesRequest $req) 本接口(InitDCDBInstances)用于初始化云数据库实例,包括设置默认字符集、表名大小写敏感等。
* @method Models\IsolateDCDBInstanceResponse IsolateDCDBInstance(Models\IsolateDCDBInstanceRequest $req) 本接口(IsolateDCDBInstance)用于隔离分布式数据库TDSQL实例包年包月隔离后不能通过IP和端口访问数据库。隔离的实例可在回收站中进行开机。若为欠费隔离请尽快进行充值。
* @method Models\IsolateDedicatedDBInstanceResponse IsolateDedicatedDBInstance(Models\IsolateDedicatedDBInstanceRequest $req) 本接口IsolateDedicatedDBInstance用于隔离独享云数据库实例。
* @method Models\IsolateHourDCDBInstanceResponse IsolateHourDCDBInstance(Models\IsolateHourDCDBInstanceRequest $req) 隔离TDSQL按量计费实例
* @method Models\KillSessionResponse KillSession(Models\KillSessionRequest $req) 本接口KillSession用于杀死指定会话。
* @method Models\ModifyAccountConfigResponse ModifyAccountConfig(Models\ModifyAccountConfigRequest $req) 修改账号的一些配置,比如 max_user_connections
* @method Models\ModifyAccountDescriptionResponse ModifyAccountDescription(Models\ModifyAccountDescriptionRequest $req) 本接口ModifyAccountDescription用于修改云数据库账号备注。
注意相同用户名不同Host是不同的账号。
* @method Models\ModifyAccountPrivilegesResponse ModifyAccountPrivileges(Models\ModifyAccountPrivilegesRequest $req) 本接口(ModifyAccountPrivileges)用于修改云数据库的账户的权限信息。
**注意**
- 系统保留库:"mysql",只开放["SELECT"]权限
- 只读账号授予读写权限会报错
- 不传权限参数表示保留现有权限如需清除请在复杂类型Privileges字段传空数组
* @method Models\ModifyDBEncryptAttributesResponse ModifyDBEncryptAttributes(Models\ModifyDBEncryptAttributesRequest $req) 本接口(ModifyDBEncryptAttributes)用于修改实例数据加密。
* @method Models\ModifyDBInstanceNameResponse ModifyDBInstanceName(Models\ModifyDBInstanceNameRequest $req) 本接口ModifyDBInstanceName用于修改实例名字
* @method Models\ModifyDBInstanceSecurityGroupsResponse ModifyDBInstanceSecurityGroups(Models\ModifyDBInstanceSecurityGroupsRequest $req) 本接口ModifyDBInstanceSecurityGroups用于修改云数据库安全组
* @method Models\ModifyDBInstancesProjectResponse ModifyDBInstancesProject(Models\ModifyDBInstancesProjectRequest $req) 本接口ModifyDBInstancesProject用于修改云数据库实例所属项目。
* @method Models\ModifyDBParametersResponse ModifyDBParameters(Models\ModifyDBParametersRequest $req) 本接口(ModifyDBParameters)用于修改数据库参数。
* @method Models\ModifyDBSyncModeResponse ModifyDBSyncMode(Models\ModifyDBSyncModeRequest $req) 本接口ModifyDBSyncMode用于修改云数据库实例的同步模式。
* @method Models\ModifyInstanceNetworkResponse ModifyInstanceNetwork(Models\ModifyInstanceNetworkRequest $req) 本接口ModifyInstanceNetwork用于修改实例所属网络。
* @method Models\ModifyInstanceVipResponse ModifyInstanceVip(Models\ModifyInstanceVipRequest $req) 本接口ModifyInstanceVip用于修改实例Vip
* @method Models\ModifyInstanceVportResponse ModifyInstanceVport(Models\ModifyInstanceVportRequest $req) 本接口ModifyInstanceVport用于修改实例VPORT
* @method Models\ModifyRealServerAccessStrategyResponse ModifyRealServerAccessStrategy(Models\ModifyRealServerAccessStrategyRequest $req) 本接口(ModifyRealServerAccessStrategy)用于修改云数据库的VPCGW到RS的访问策略。
**注意**
- 修改策略后只对新建立的连接生效,老连接不受影响
- 就近访问只针对实例是跨可用区部署有用,单可用区部署实例就近与否并无作用
- DB每个Node对应一个proxy如果开启就近访问将会把连接集中到对应可用区的proxy上可能造成热点问题这种情况下如果是线上业务请务必根据自己的业务请求量测试符合预期后再进行就近策略变更
* @method Models\OpenDBExtranetAccessResponse OpenDBExtranetAccess(Models\OpenDBExtranetAccessRequest $req) 本接口OpenDBExtranetAccess用于开通云数据库实例的外网访问。开通外网访问后您可通过外网域名和端口访问实例可使用查询实例列表接口获取外网域名和端口信息。
* @method Models\RenewDCDBInstanceResponse RenewDCDBInstance(Models\RenewDCDBInstanceRequest $req) 本接口RenewDCDBInstance用于续费分布式数据库实例。
* @method Models\ResetAccountPasswordResponse ResetAccountPassword(Models\ResetAccountPasswordRequest $req) 本接口ResetAccountPassword用于重置云数据库账号的密码。
注意相同用户名不同Host是不同的账号。
* @method Models\SwitchDBInstanceHAResponse SwitchDBInstanceHA(Models\SwitchDBInstanceHARequest $req) 本接口(SwitchDBInstanceHA)用于实例主备切换。
* @method Models\TerminateDedicatedDBInstanceResponse TerminateDedicatedDBInstance(Models\TerminateDedicatedDBInstanceRequest $req) 本接口TerminateDedicatedDBInstance用于销毁已隔离的独享分布式数据库实例。
* @method Models\UpgradeDCDBInstanceResponse UpgradeDCDBInstance(Models\UpgradeDCDBInstanceRequest $req) 本接口UpgradeDCDBInstance用于升级分布式数据库实例。本接口完成下单和支付两个动作如果发生支付失败的错误调用用户账户相关接口中的支付订单接口PayDeals重新支付即可。
* @method Models\UpgradeDedicatedDCDBInstanceResponse UpgradeDedicatedDCDBInstance(Models\UpgradeDedicatedDCDBInstanceRequest $req) 本接口UpgradeDedicatedDCDBInstance用于升级TDSQL独享集群实例
* @method Models\UpgradeHourDCDBInstanceResponse UpgradeHourDCDBInstance(Models\UpgradeHourDCDBInstanceRequest $req) 本接口UpgradeHourDCDBInstance用于升级分布式数据库TDSQL按量计费实例。
*/
class DcdbClient extends AbstractClient
{
/**
* @var string
*/
protected $endpoint = "dcdb.tencentcloudapi.com";
/**
* @var string
*/
protected $service = "dcdb";
/**
* @var string
*/
protected $version = "2018-04-11";
/**
* @param Credential $credential
* @param string $region
* @param ClientProfile|null $profile
* @throws TencentCloudSDKException
*/
function __construct($credential, $region, $profile=null)
{
parent::__construct($this->endpoint, $this->version, $credential, $region, $profile);
}
public function returnResponse($action, $response)
{
$respClass = "TencentCloud"."\\".ucfirst("dcdb")."\\"."V20180411\\Models"."\\".ucfirst($action)."Response";
$obj = new $respClass();
$obj->deserialize($response);
return $obj;
}
}