第一次提交:阿龙电竞 Django 后端最新版本

This commit is contained in:
XingQue
2026-06-14 02:23:24 +08:00
commit 4f7bf00224
9654 changed files with 5417000 additions and 0 deletions

View File

@@ -0,0 +1,303 @@
# -*- 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.ags.v20250920 import models
class AgsClient(AbstractClient):
_apiVersion = '2025-09-20'
_endpoint = 'ags.tencentcloudapi.com'
_service = 'ags'
def AcquireSandboxInstanceToken(self, request):
r"""获取访问沙箱工具时所需要使用的访问Token创建沙箱实例后需调用此接口获取沙箱实例访问Token。
此Token可用于调用代码沙箱实例执行代码或浏览器沙箱实例进行浏览器操作等。
:param request: Request instance for AcquireSandboxInstanceToken.
:type request: :class:`tencentcloud.ags.v20250920.models.AcquireSandboxInstanceTokenRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.AcquireSandboxInstanceTokenResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("AcquireSandboxInstanceToken", params, headers=headers)
response = json.loads(body)
model = models.AcquireSandboxInstanceTokenResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateAPIKey(self, request):
r"""创建新的API密钥用于调用Agent Sandbox接口。相较于腾讯云Secret ID Secret Key支持调用所有接口使用仅有部分接口支持使用API密钥调用。
:param request: Request instance for CreateAPIKey.
:type request: :class:`tencentcloud.ags.v20250920.models.CreateAPIKeyRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.CreateAPIKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateAPIKey", params, headers=headers)
response = json.loads(body)
model = models.CreateAPIKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def CreateSandboxTool(self, request):
r"""创建沙箱工具
:param request: Request instance for CreateSandboxTool.
:type request: :class:`tencentcloud.ags.v20250920.models.CreateSandboxToolRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.CreateSandboxToolResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("CreateSandboxTool", params, headers=headers)
response = json.loads(body)
model = models.CreateSandboxToolResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteAPIKey(self, request):
r"""删除API密钥。注意区别于腾讯云Secret ID Secret Key本接口删除的是Agent Sandbox专用API key。
:param request: Request instance for DeleteAPIKey.
:type request: :class:`tencentcloud.ags.v20250920.models.DeleteAPIKeyRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.DeleteAPIKeyResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteAPIKey", params, headers=headers)
response = json.loads(body)
model = models.DeleteAPIKeyResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DeleteSandboxTool(self, request):
r"""删除沙箱工具
:param request: Request instance for DeleteSandboxTool.
:type request: :class:`tencentcloud.ags.v20250920.models.DeleteSandboxToolRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.DeleteSandboxToolResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DeleteSandboxTool", params, headers=headers)
response = json.loads(body)
model = models.DeleteSandboxToolResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeAPIKeyList(self, request):
r"""获取API密钥列表包含API密钥简略信息包含名称、创建时间等。
:param request: Request instance for DescribeAPIKeyList.
:type request: :class:`tencentcloud.ags.v20250920.models.DescribeAPIKeyListRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.DescribeAPIKeyListResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeAPIKeyList", params, headers=headers)
response = json.loads(body)
model = models.DescribeAPIKeyListResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeSandboxInstanceList(self, request):
r"""查询沙箱实例列表
:param request: Request instance for DescribeSandboxInstanceList.
:type request: :class:`tencentcloud.ags.v20250920.models.DescribeSandboxInstanceListRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.DescribeSandboxInstanceListResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeSandboxInstanceList", params, headers=headers)
response = json.loads(body)
model = models.DescribeSandboxInstanceListResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def DescribeSandboxToolList(self, request):
r"""查询沙箱工具列表
:param request: Request instance for DescribeSandboxToolList.
:type request: :class:`tencentcloud.ags.v20250920.models.DescribeSandboxToolListRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.DescribeSandboxToolListResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("DescribeSandboxToolList", params, headers=headers)
response = json.loads(body)
model = models.DescribeSandboxToolListResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def StartSandboxInstance(self, request):
r"""启动沙箱实例
:param request: Request instance for StartSandboxInstance.
:type request: :class:`tencentcloud.ags.v20250920.models.StartSandboxInstanceRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.StartSandboxInstanceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("StartSandboxInstance", params, headers=headers)
response = json.loads(body)
model = models.StartSandboxInstanceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def StopSandboxInstance(self, request):
r"""停止沙箱实例
:param request: Request instance for StopSandboxInstance.
:type request: :class:`tencentcloud.ags.v20250920.models.StopSandboxInstanceRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.StopSandboxInstanceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("StopSandboxInstance", params, headers=headers)
response = json.loads(body)
model = models.StopSandboxInstanceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def UpdateSandboxInstance(self, request):
r"""更新沙箱实例
:param request: Request instance for UpdateSandboxInstance.
:type request: :class:`tencentcloud.ags.v20250920.models.UpdateSandboxInstanceRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.UpdateSandboxInstanceResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("UpdateSandboxInstance", params, headers=headers)
response = json.loads(body)
model = models.UpdateSandboxInstanceResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))
def UpdateSandboxTool(self, request):
r"""更新沙箱工具
:param request: Request instance for UpdateSandboxTool.
:type request: :class:`tencentcloud.ags.v20250920.models.UpdateSandboxToolRequest`
:rtype: :class:`tencentcloud.ags.v20250920.models.UpdateSandboxToolResponse`
"""
try:
params = request._serialize()
headers = request.headers
body = self.call("UpdateSandboxTool", params, headers=headers)
response = json.loads(body)
model = models.UpdateSandboxToolResponse()
model._deserialize(response["Response"])
return model
except Exception as e:
if isinstance(e, TencentCloudSDKException):
raise
else:
raise TencentCloudSDKException(type(e).__name__, str(e))

View File

@@ -0,0 +1,243 @@
# -*- 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.
from tencentcloud.common.abstract_client_async import AbstractClient
from tencentcloud.ags.v20250920 import models
from typing import Dict
class AgsClient(AbstractClient):
_apiVersion = '2025-09-20'
_endpoint = 'ags.tencentcloudapi.com'
_service = 'ags'
async def AcquireSandboxInstanceToken(
self,
request: models.AcquireSandboxInstanceTokenRequest,
opts: Dict = None,
) -> models.AcquireSandboxInstanceTokenResponse:
"""
获取访问沙箱工具时所需要使用的访问Token创建沙箱实例后需调用此接口获取沙箱实例访问Token。
此Token可用于调用代码沙箱实例执行代码或浏览器沙箱实例进行浏览器操作等。
"""
kwargs = {}
kwargs["action"] = "AcquireSandboxInstanceToken"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.AcquireSandboxInstanceTokenResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def CreateAPIKey(
self,
request: models.CreateAPIKeyRequest,
opts: Dict = None,
) -> models.CreateAPIKeyResponse:
"""
创建新的API密钥用于调用Agent Sandbox接口。相较于腾讯云Secret ID Secret Key支持调用所有接口使用仅有部分接口支持使用API密钥调用。
"""
kwargs = {}
kwargs["action"] = "CreateAPIKey"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.CreateAPIKeyResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def CreateSandboxTool(
self,
request: models.CreateSandboxToolRequest,
opts: Dict = None,
) -> models.CreateSandboxToolResponse:
"""
创建沙箱工具
"""
kwargs = {}
kwargs["action"] = "CreateSandboxTool"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.CreateSandboxToolResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def DeleteAPIKey(
self,
request: models.DeleteAPIKeyRequest,
opts: Dict = None,
) -> models.DeleteAPIKeyResponse:
"""
删除API密钥。注意区别于腾讯云Secret ID Secret Key本接口删除的是Agent Sandbox专用API key。
"""
kwargs = {}
kwargs["action"] = "DeleteAPIKey"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.DeleteAPIKeyResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def DeleteSandboxTool(
self,
request: models.DeleteSandboxToolRequest,
opts: Dict = None,
) -> models.DeleteSandboxToolResponse:
"""
删除沙箱工具
"""
kwargs = {}
kwargs["action"] = "DeleteSandboxTool"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.DeleteSandboxToolResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def DescribeAPIKeyList(
self,
request: models.DescribeAPIKeyListRequest,
opts: Dict = None,
) -> models.DescribeAPIKeyListResponse:
"""
获取API密钥列表包含API密钥简略信息包含名称、创建时间等。
"""
kwargs = {}
kwargs["action"] = "DescribeAPIKeyList"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.DescribeAPIKeyListResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def DescribeSandboxInstanceList(
self,
request: models.DescribeSandboxInstanceListRequest,
opts: Dict = None,
) -> models.DescribeSandboxInstanceListResponse:
"""
查询沙箱实例列表
"""
kwargs = {}
kwargs["action"] = "DescribeSandboxInstanceList"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.DescribeSandboxInstanceListResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def DescribeSandboxToolList(
self,
request: models.DescribeSandboxToolListRequest,
opts: Dict = None,
) -> models.DescribeSandboxToolListResponse:
"""
查询沙箱工具列表
"""
kwargs = {}
kwargs["action"] = "DescribeSandboxToolList"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.DescribeSandboxToolListResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def StartSandboxInstance(
self,
request: models.StartSandboxInstanceRequest,
opts: Dict = None,
) -> models.StartSandboxInstanceResponse:
"""
启动沙箱实例
"""
kwargs = {}
kwargs["action"] = "StartSandboxInstance"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.StartSandboxInstanceResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def StopSandboxInstance(
self,
request: models.StopSandboxInstanceRequest,
opts: Dict = None,
) -> models.StopSandboxInstanceResponse:
"""
停止沙箱实例
"""
kwargs = {}
kwargs["action"] = "StopSandboxInstance"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.StopSandboxInstanceResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def UpdateSandboxInstance(
self,
request: models.UpdateSandboxInstanceRequest,
opts: Dict = None,
) -> models.UpdateSandboxInstanceResponse:
"""
更新沙箱实例
"""
kwargs = {}
kwargs["action"] = "UpdateSandboxInstance"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.UpdateSandboxInstanceResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)
async def UpdateSandboxTool(
self,
request: models.UpdateSandboxToolRequest,
opts: Dict = None,
) -> models.UpdateSandboxToolResponse:
"""
更新沙箱工具
"""
kwargs = {}
kwargs["action"] = "UpdateSandboxTool"
kwargs["params"] = request._serialize()
kwargs["resp_cls"] = models.UpdateSandboxToolResponse
kwargs["headers"] = request.headers
kwargs["opts"] = opts or {}
return await self.call_and_deserialize(**kwargs)

View File

@@ -0,0 +1,126 @@
# -*- 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.
# CAM签名/鉴权错误。
AUTHFAILURE = 'AuthFailure'
# 请求未CAM授权
AUTHFAILURE_UNAUTHORIZEDOPERATION = 'AuthFailure.UnauthorizedOperation'
# 操作失败。
FAILEDOPERATION = 'FailedOperation'
# 重复请求(幂等性检查)
FAILEDOPERATION_DUPLICATEREQUEST = 'FailedOperation.DuplicateRequest'
# 请求正在处理中(幂等性检查)
FAILEDOPERATION_REQUESTINPROGRESS = 'FailedOperation.RequestInProgress'
# 沙箱实例存储配置挂载失败
FAILEDOPERATION_STORAGEMOUNT = 'FailedOperation.StorageMount'
# 内部错误。
INTERNALERROR = 'InternalError'
# 网络初始化失败
INTERNALERROR_NETWORKSETUPFAILED = 'InternalError.NetworkSetupFailed'
# VPC服务不可用
INTERNALERROR_VPCSERVICEUNAVAILABLE = 'InternalError.VPCServiceUnavailable'
# 参数错误。
INVALIDPARAMETER = 'InvalidParameter'
# 参数取值错误。
INVALIDPARAMETERVALUE = 'InvalidParameterValue'
# InstanceIds 参数格式错误或 ID 列表超过最大数量限制
INVALIDPARAMETERVALUE_INSTANCEIDS = 'InvalidParameterValue.InstanceIds'
# MountOption部分参数填写错误
INVALIDPARAMETERVALUE_MOUNTOPTION = 'InvalidParameterValue.MountOption'
# Role Arn格式不满足腾讯云规范
INVALIDPARAMETERVALUE_ROLEARN = 'InvalidParameterValue.RoleArn'
# 沙箱工具名称不可用,可能是已经存在
INVALIDPARAMETERVALUE_SANDBOXTOOL = 'InvalidParameterValue.SandboxTool'
# 安全组ID格式错误
INVALIDPARAMETERVALUE_SECURITYGROUPID = 'InvalidParameterValue.SecurityGroupId'
# StorageMount部分参数错误
INVALIDPARAMETERVALUE_STORAGEMOUNT = 'InvalidParameterValue.StorageMount'
# 子网ID格式错误
INVALIDPARAMETERVALUE_SUBNETID = 'InvalidParameterValue.SubnetId'
# 超时时间格式错误或超过最大限制
INVALIDPARAMETERVALUE_TIMEOUT = 'InvalidParameterValue.Timeout'
# ToolIds 参数格式错误或 ID 列表超过最大数量限制
INVALIDPARAMETERVALUE_TOOLIDS = 'InvalidParameterValue.ToolIds'
# 不支持的沙箱工具类型
INVALIDPARAMETERVALUE_TOOLTYPE = 'InvalidParameterValue.ToolType'
# 账号下 API 密钥数量达到上限
LIMITEXCEEDED_APIKEYQUOTA = 'LimitExceeded.APIKeyQuota'
# 沙箱实例配额超限
LIMITEXCEEDED_SANDBOXINSTANCE = 'LimitExceeded.SandboxInstance'
# 缺少参数错误。
MISSINGPARAMETER = 'MissingParameter'
# 缺少角色Arn
MISSINGPARAMETER_ROLEARN = 'MissingParameter.RoleArn'
# VPC网络模式缺少必需参数
MISSINGPARAMETER_VPCPARAMETERS = 'MissingParameter.VPCParameters'
# 沙箱工具正在使用中
RESOURCEINUSE_SANDBOXTOOL = 'ResourceInUse.SandboxTool'
# 资源不存在。
RESOURCENOTFOUND = 'ResourceNotFound'
# 沙箱实例不存在
RESOURCENOTFOUND_SANDBOXINSTANCE = 'ResourceNotFound.SandboxInstance'
# 沙箱工具不存在
RESOURCENOTFOUND_SANDBOXTOOL = 'ResourceNotFound.SandboxTool'
# 安全组不存在或不属于用户
RESOURCENOTFOUND_SECURITYGROUP = 'ResourceNotFound.SecurityGroup'
# 指定的StorageMount不存在
RESOURCENOTFOUND_STORAGEMOUNT = 'ResourceNotFound.StorageMount'
# 子网不存在或不属于用户
RESOURCENOTFOUND_SUBNET = 'ResourceNotFound.Subnet'
# 沙箱工具不可用
RESOURCEUNAVAILABLE_SANDBOXTOOL = 'ResourceUnavailable.SandboxTool'
# 未授权操作。
UNAUTHORIZEDOPERATION = 'UnauthorizedOperation'
# 操作不支持。
UNSUPPORTEDOPERATION = 'UnsupportedOperation'
# 实例状态不允许修改只有RUNNING状态的实例可以修改
UNSUPPORTEDOPERATION_SANDBOXINSTANCE = 'UnsupportedOperation.SandboxInstance'

File diff suppressed because it is too large Load Diff