2 Star 26 Fork 2

tencentcloud/tencentcloud-sdk-python

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tat_client.py 27.67 KB
一键复制 编辑 原始数据 按行查看 历史
tencentcloud 提交于 2025-09-15 17:12 +08:00 . release 3.0.1459
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710
# -*- coding: utf8 -*-
# Copyright (c) 2017-2025 Tencent. 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.
import json
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.common.abstract_client import AbstractClient
from tencentcloud.tat.v20201028 import models
class TatClient(AbstractClient):
_apiVersion = '2020-10-28'
_endpoint = 'tat.tencentcloudapi.com'
_service = 'tat'
def CancelInvocation(self, request):
r"""取消一台或多台实例执行的命令
* 如果命令还未下发到agent,任务状态处于PENDING、DELIVERING、DELIVER_DELAYED,取消后任务状态是CANCELLED
* 如果命令已下发到agent,任务状态处于RUNNING, 取消后任务状态是TERMINATED
:param request: Request instance for CancelInvocation.
:type request: :class:`tencentcloud.tat.v20201028.models.CancelInvocationRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.CancelInvocationResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CancelInvocation", params, headers=headers)
response = json.loads(body)
model = models.CancelInvocationResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateCommand(self, request):
r"""此接口用于创建命令。
:param request: Request instance for CreateCommand.
:type request: :class:`tencentcloud.tat.v20201028.models.CreateCommandRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.CreateCommandResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateCommand", params, headers=headers)
response = json.loads(body)
model = models.CreateCommandResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateInvoker(self, request):
r"""此接口用于创建执行器。
:param request: Request instance for CreateInvoker.
:type request: :class:`tencentcloud.tat.v20201028.models.CreateInvokerRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.CreateInvokerResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateInvoker", params, headers=headers)
response = json.loads(body)
model = models.CreateInvokerResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateRegisterCode(self, request):
r"""接口用于创建注册码。
:param request: Request instance for CreateRegisterCode.
:type request: :class:`tencentcloud.tat.v20201028.models.CreateRegisterCodeRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.CreateRegisterCodeResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateRegisterCode", params, headers=headers)
response = json.loads(body)
model = models.CreateRegisterCodeResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteCommand(self, request):
r"""此接口用于删除命令。
如果命令与执行器关联,则无法被删除。
:param request: Request instance for DeleteCommand.
:type request: :class:`tencentcloud.tat.v20201028.models.DeleteCommandRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DeleteCommandResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteCommand", params, headers=headers)
response = json.loads(body)
model = models.DeleteCommandResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteCommands(self, request):
r"""批量删除命令接口
:param request: Request instance for DeleteCommands.
:type request: :class:`tencentcloud.tat.v20201028.models.DeleteCommandsRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DeleteCommandsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteCommands", params, headers=headers)
response = json.loads(body)
model = models.DeleteCommandsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteInvoker(self, request):
r"""此接口用于删除执行器。
:param request: Request instance for DeleteInvoker.
:type request: :class:`tencentcloud.tat.v20201028.models.DeleteInvokerRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DeleteInvokerResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteInvoker", params, headers=headers)
response = json.loads(body)
model = models.DeleteInvokerResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteRegisterCodes(self, request):
r"""此接口用于批量删除注册码。
:param request: Request instance for DeleteRegisterCodes.
:type request: :class:`tencentcloud.tat.v20201028.models.DeleteRegisterCodesRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DeleteRegisterCodesResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteRegisterCodes", params, headers=headers)
response = json.loads(body)
model = models.DeleteRegisterCodesResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteRegisterInstance(self, request):
r"""接口用于删除托管实例。
:param request: Request instance for DeleteRegisterInstance.
:type request: :class:`tencentcloud.tat.v20201028.models.DeleteRegisterInstanceRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DeleteRegisterInstanceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteRegisterInstance", params, headers=headers)
response = json.loads(body)
model = models.DeleteRegisterInstanceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeAutomationAgentStatus(self, request):
r"""此接口用于查询自动化助手客户端的状态。
:param request: Request instance for DescribeAutomationAgentStatus.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeAutomationAgentStatusRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeAutomationAgentStatusResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeAutomationAgentStatus", params, headers=headers)
response = json.loads(body)
model = models.DescribeAutomationAgentStatusResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeCommands(self, request):
r"""此接口用于查询命令详情。
:param request: Request instance for DescribeCommands.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeCommandsRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeCommandsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeCommands", params, headers=headers)
response = json.loads(body)
model = models.DescribeCommandsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeInvocationTasks(self, request):
r"""此接口用于查询执行任务详情。
:param request: Request instance for DescribeInvocationTasks.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeInvocationTasksRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeInvocationTasksResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeInvocationTasks", params, headers=headers)
response = json.loads(body)
model = models.DescribeInvocationTasksResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeInvocations(self, request):
r"""此接口用于查询执行活动详情。
:param request: Request instance for DescribeInvocations.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeInvocationsRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeInvocationsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeInvocations", params, headers=headers)
response = json.loads(body)
model = models.DescribeInvocationsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeInvokerRecords(self, request):
r"""此接口用于查询执行器的执行记录。
:param request: Request instance for DescribeInvokerRecords.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeInvokerRecordsRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeInvokerRecordsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeInvokerRecords", params, headers=headers)
response = json.loads(body)
model = models.DescribeInvokerRecordsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeInvokers(self, request):
r"""此接口用于查询执行器信息。
:param request: Request instance for DescribeInvokers.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeInvokersRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeInvokersResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeInvokers", params, headers=headers)
response = json.loads(body)
model = models.DescribeInvokersResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeQuotas(self, request):
r"""此接口用于获取配额信息
:param request: Request instance for DescribeQuotas.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeQuotasRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeQuotasResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeQuotas", params, headers=headers)
response = json.loads(body)
model = models.DescribeQuotasResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeRegions(self, request):
r"""此接口用于查询 TAT 产品后台地域列表。
RegionState 为 AVAILABLE,代表该地域的 TAT 后台服务已经可用;未返回,代表该地域的 TAT 后台服务尚不可用。
:param request: Request instance for DescribeRegions.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeRegionsRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeRegionsResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeRegions", params, headers=headers)
response = json.loads(body)
model = models.DescribeRegionsResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeRegisterCodes(self, request):
r"""接口用于查询注册码信息。
:param request: Request instance for DescribeRegisterCodes.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeRegisterCodesRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeRegisterCodesResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeRegisterCodes", params, headers=headers)
response = json.loads(body)
model = models.DescribeRegisterCodesResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeRegisterInstances(self, request):
r"""接口用于查询被托管的实例信息。
:param request: Request instance for DescribeRegisterInstances.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeRegisterInstancesRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeRegisterInstancesResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeRegisterInstances", params, headers=headers)
response = json.loads(body)
model = models.DescribeRegisterInstancesResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeScenes(self, request):
r"""此接口用于查询场景详情。
:param request: Request instance for DescribeScenes.
:type request: :class:`tencentcloud.tat.v20201028.models.DescribeScenesRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DescribeScenesResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeScenes", params, headers=headers)
response = json.loads(body)
model = models.DescribeScenesResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableInvoker(self, request):
r"""此接口用于停止执行器。
:param request: Request instance for DisableInvoker.
:type request: :class:`tencentcloud.tat.v20201028.models.DisableInvokerRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DisableInvokerResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableInvoker", params, headers=headers)
response = json.loads(body)
model = models.DisableInvokerResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DisableRegisterCodes(self, request):
r"""此接口用于批量禁用注册码。
:param request: Request instance for DisableRegisterCodes.
:type request: :class:`tencentcloud.tat.v20201028.models.DisableRegisterCodesRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.DisableRegisterCodesResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DisableRegisterCodes", params, headers=headers)
response = json.loads(body)
model = models.DisableRegisterCodesResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def EnableInvoker(self, request):
r"""此接口用于启用执行器。
:param request: Request instance for EnableInvoker.
:type request: :class:`tencentcloud.tat.v20201028.models.EnableInvokerRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.EnableInvokerResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("EnableInvoker", params, headers=headers)
response = json.loads(body)
model = models.EnableInvokerResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def InvokeCommand(self, request):
r"""在指定的实例上触发命令,调用成功返回执行活动ID(inv-xxxxxxxx),每个执行活动内部有一个或多个执行任务(invt-xxxxxxxx),每个执行任务代表命令在一台 CVM 或一台 Lighthouse 上的执行记录。
* 如果指定实例未安装 agent,或 agent 不在线,返回失败
* 如果命令类型与 agent 运行环境不符,返回失败
* 指定的实例需要处于 VPC 网络
* 指定的实例需要处于 RUNNING 状态
* 不可同时指定 CVM 和 Lighthouse
:param request: Request instance for InvokeCommand.
:type request: :class:`tencentcloud.tat.v20201028.models.InvokeCommandRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.InvokeCommandResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("InvokeCommand", params, headers=headers)
response = json.loads(body)
model = models.InvokeCommandResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ModifyCommand(self, request):
r"""此接口用于修改命令。
:param request: Request instance for ModifyCommand.
:type request: :class:`tencentcloud.tat.v20201028.models.ModifyCommandRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.ModifyCommandResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ModifyCommand", params, headers=headers)
response = json.loads(body)
model = models.ModifyCommandResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ModifyInvoker(self, request):
r"""此接口用于修改执行器。
:param request: Request instance for ModifyInvoker.
:type request: :class:`tencentcloud.tat.v20201028.models.ModifyInvokerRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.ModifyInvokerResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ModifyInvoker", params, headers=headers)
response = json.loads(body)
model = models.ModifyInvokerResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def ModifyRegisterInstance(self, request):
r"""接口用于修改托管实例信息。
:param request: Request instance for ModifyRegisterInstance.
:type request: :class:`tencentcloud.tat.v20201028.models.ModifyRegisterInstanceRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.ModifyRegisterInstanceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("ModifyRegisterInstance", params, headers=headers)
response = json.loads(body)
model = models.ModifyRegisterInstanceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def PreviewReplacedCommandContent(self, request):
r"""此接口用于预览自定义参数替换后的命令内容。不会触发真实执行。
:param request: Request instance for PreviewReplacedCommandContent.
:type request: :class:`tencentcloud.tat.v20201028.models.PreviewReplacedCommandContentRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.PreviewReplacedCommandContentResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("PreviewReplacedCommandContent", params, headers=headers)
response = json.loads(body)
model = models.PreviewReplacedCommandContentResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def RunCommand(self, request):
r"""执行命令,调用成功返回执行活动ID(inv-xxxxxxxx),每个执行活动内部有一个或多个执行任务(invt-xxxxxxxx),每个执行任务代表命令在一台 CVM 或一台 Lighthouse 上的执行记录。
* 如果指定实例未安装 agent,或 agent 不在线,返回失败
* 如果命令类型与 agent 运行环境不符,返回失败
* 指定的实例需要处于 VPC 网络
* 指定的实例需要处于 `RUNNING` 状态
* 不可同时指定 CVM 和 Lighthouse
:param request: Request instance for RunCommand.
:type request: :class:`tencentcloud.tat.v20201028.models.RunCommandRequest`
:rtype: :class:`tencentcloud.tat.v20201028.models.RunCommandResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("RunCommand", params, headers=headers)
response = json.loads(body)
model = models.RunCommandResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/tencentcloud/tencentcloud-sdk-python.git
git@gitee.com:tencentcloud/tencentcloud-sdk-python.git
tencentcloud
tencentcloud-sdk-python
tencentcloud-sdk-python
master

搜索帮助