# frozen_string_literal: true # 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. module TencentCloud module Tat module V20201028 # 自动化助手客户端信息 class AutomationAgentInfo < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID。 # @type InstanceId: String # @param Version: Agent 版本号。 # @type Version: String # @param LastHeartbeatTime: 上次心跳时间 # @type LastHeartbeatTime: String # @param AgentStatus: Agent状态,取值范围: #
  • Online:在线 #
  • Offline:离线 # @type AgentStatus: String # @param Environment: Agent运行环境,取值范围: #
  • Linux:Linux实例 #
  • Windows:Windows实例 # @type Environment: String # @param SupportFeatures: Agent 支持的功能列表。 # @type SupportFeatures: Array attr_accessor :InstanceId, :Version, :LastHeartbeatTime, :AgentStatus, :Environment, :SupportFeatures def initialize(instanceid=nil, version=nil, lastheartbeattime=nil, agentstatus=nil, environment=nil, supportfeatures=nil) @InstanceId = instanceid @Version = version @LastHeartbeatTime = lastheartbeattime @AgentStatus = agentstatus @Environment = environment @SupportFeatures = supportfeatures end def deserialize(params) @InstanceId = params['InstanceId'] @Version = params['Version'] @LastHeartbeatTime = params['LastHeartbeatTime'] @AgentStatus = params['AgentStatus'] @Environment = params['Environment'] @SupportFeatures = params['SupportFeatures'] end end # CancelInvocation请求参数结构体 class CancelInvocationRequest < TencentCloud::Common::AbstractModel # @param InvocationId: 执行活动ID # @type InvocationId: String # @param InstanceIds: 实例ID列表,上限100。支持实例类型: #
  • CVM #
  • LIGHTHOUSE # @type InstanceIds: Array attr_accessor :InvocationId, :InstanceIds def initialize(invocationid=nil, instanceids=nil) @InvocationId = invocationid @InstanceIds = instanceids end def deserialize(params) @InvocationId = params['InvocationId'] @InstanceIds = params['InstanceIds'] end end # CancelInvocation返回参数结构体 class CancelInvocationResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 命令详情。 class Command < TencentCloud::Common::AbstractModel # @param CommandId: 命令ID。 # @type CommandId: String # @param CommandName: 命令名称。 # @type CommandName: String # @param Description: 命令描述。 # @type Description: String # @param Content: Base64编码后的命令内容。 # @type Content: String # @param CommandType: 命令类型。 # @type CommandType: String # @param WorkingDirectory: 命令执行路径。 # @type WorkingDirectory: String # @param Timeout: 命令超时时间。 # @type Timeout: Integer # @param CreatedTime: 命令创建时间。 # @type CreatedTime: String # @param UpdatedTime: 命令更新时间。 # @type UpdatedTime: String # @param EnableParameter: 是否启用自定义参数功能。 # @type EnableParameter: Boolean # @param DefaultParameters: 自定义参数的默认取值。 # @type DefaultParameters: String # @param FormattedDescription: 命令的结构化描述。公共命令有值,用户命令为空字符串。 # @type FormattedDescription: String # @param CreatedBy: 命令创建者。TAT 代表公共命令,USER 代表个人命令。 # @type CreatedBy: String # @param Tags: 命令关联的标签列表。 # @type Tags: Array # @param Username: 在实例上执行命令的用户名。 # @type Username: String # @param OutputCOSBucketUrl: 日志上传的cos bucket 地址。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 日志在cos bucket中的目录。 # @type OutputCOSKeyPrefix: String attr_accessor :CommandId, :CommandName, :Description, :Content, :CommandType, :WorkingDirectory, :Timeout, :CreatedTime, :UpdatedTime, :EnableParameter, :DefaultParameters, :FormattedDescription, :CreatedBy, :Tags, :Username, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(commandid=nil, commandname=nil, description=nil, content=nil, commandtype=nil, workingdirectory=nil, timeout=nil, createdtime=nil, updatedtime=nil, enableparameter=nil, defaultparameters=nil, formatteddescription=nil, createdby=nil, tags=nil, username=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @CommandId = commandid @CommandName = commandname @Description = description @Content = content @CommandType = commandtype @WorkingDirectory = workingdirectory @Timeout = timeout @CreatedTime = createdtime @UpdatedTime = updatedtime @EnableParameter = enableparameter @DefaultParameters = defaultparameters @FormattedDescription = formatteddescription @CreatedBy = createdby @Tags = tags @Username = username @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @CommandId = params['CommandId'] @CommandName = params['CommandName'] @Description = params['Description'] @Content = params['Content'] @CommandType = params['CommandType'] @WorkingDirectory = params['WorkingDirectory'] @Timeout = params['Timeout'] @CreatedTime = params['CreatedTime'] @UpdatedTime = params['UpdatedTime'] @EnableParameter = params['EnableParameter'] @DefaultParameters = params['DefaultParameters'] @FormattedDescription = params['FormattedDescription'] @CreatedBy = params['CreatedBy'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tag_tmp = Tag.new tag_tmp.deserialize(i) @Tags << tag_tmp end end @Username = params['Username'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # 命令执行详情。 class CommandDocument < TencentCloud::Common::AbstractModel # @param Content: Base64 编码后的执行命令。 # @type Content: String # @param CommandType: 命令类型。 # @type CommandType: String # @param Timeout: 超时时间。 # @type Timeout: Integer # @param WorkingDirectory: 执行路径。 # @type WorkingDirectory: String # @param Username: 执行用户。 # @type Username: String # @param OutputCOSBucketUrl: 保存输出的 COS Bucket 链接。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 保存输出的文件名称前缀。 # @type OutputCOSKeyPrefix: String attr_accessor :Content, :CommandType, :Timeout, :WorkingDirectory, :Username, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(content=nil, commandtype=nil, timeout=nil, workingdirectory=nil, username=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @Content = content @CommandType = commandtype @Timeout = timeout @WorkingDirectory = workingdirectory @Username = username @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @Content = params['Content'] @CommandType = params['CommandType'] @Timeout = params['Timeout'] @WorkingDirectory = params['WorkingDirectory'] @Username = params['Username'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # CreateCommand请求参数结构体 class CreateCommandRequest < TencentCloud::Common::AbstractModel # @param CommandName: 命令名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type CommandName: String # @param Content: Base64编码后的命令内容,长度不可超过64KB。 # @type Content: String # @param Description: 命令描述。不超过120字符。 # @type Description: String # @param CommandType: 命令类型,目前支持取值:SHELL、POWERSHELL。默认:SHELL。 # @type CommandType: String # @param WorkingDirectory: 命令执行路径,对于 SHELL 命令默认为 /root,对于 POWERSHELL 命令默认为 C:\Program Files\qcloud\tat_agent\workdir。 # @type WorkingDirectory: String # @param Timeout: 命令超时时间,默认60秒。取值范围[1, 86400]。 # @type Timeout: Integer # @param EnableParameter: 是否启用自定义参数功能。 # 一旦创建,此值不提供修改。 # 默认值:false。 # @type EnableParameter: Boolean # @param DefaultParameters: 启用自定义参数功能时,自定义参数的默认取值。字段类型为json encoded string。如:{\"varA\": \"222\"}。 # key为自定义参数名称,value为该参数的默认取值。kv均为字符串型。 # 如果InvokeCommand时未提供参数取值,将使用这里的默认值进行替换。 # 自定义参数最多20个。 # 自定义参数名称需符合以下规范:字符数目上限64,可选范围【a-zA-Z0-9-_】。 # @type DefaultParameters: String # @param Tags: 为命令关联的标签,列表长度不超过10。 # @type Tags: Array # @param Username: 在 CVM 或 Lighthouse 实例中执行命令的用户名称。 # 使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。默认情况下,在 Linux 实例中以 root 用户执行命令;在Windows 实例中以 System 用户执行命令。 # @type Username: String # @param OutputCOSBucketUrl: 指定日志上传的cos bucket 地址,必须以https开头,如 https://BucketName-123454321.cos.ap-beijing.myqcloud.com。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 指定日志在cos bucket中的目录,目录命名有如下规则: # 1. 可用数字、中英文和可见字符的组合,长度最多为60。 # 2. 用 / 分割路径,可快速创建子目录。 # 3. 不允许连续 / ;不允许以 / 开头;不允许以..作为文件夹名称 # @type OutputCOSKeyPrefix: String attr_accessor :CommandName, :Content, :Description, :CommandType, :WorkingDirectory, :Timeout, :EnableParameter, :DefaultParameters, :Tags, :Username, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(commandname=nil, content=nil, description=nil, commandtype=nil, workingdirectory=nil, timeout=nil, enableparameter=nil, defaultparameters=nil, tags=nil, username=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @CommandName = commandname @Content = content @Description = description @CommandType = commandtype @WorkingDirectory = workingdirectory @Timeout = timeout @EnableParameter = enableparameter @DefaultParameters = defaultparameters @Tags = tags @Username = username @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @CommandName = params['CommandName'] @Content = params['Content'] @Description = params['Description'] @CommandType = params['CommandType'] @WorkingDirectory = params['WorkingDirectory'] @Timeout = params['Timeout'] @EnableParameter = params['EnableParameter'] @DefaultParameters = params['DefaultParameters'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tag_tmp = Tag.new tag_tmp.deserialize(i) @Tags << tag_tmp end end @Username = params['Username'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # CreateCommand返回参数结构体 class CreateCommandResponse < TencentCloud::Common::AbstractModel # @param CommandId: 命令ID。 # @type CommandId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :CommandId, :RequestId def initialize(commandid=nil, requestid=nil) @CommandId = commandid @RequestId = requestid end def deserialize(params) @CommandId = params['CommandId'] @RequestId = params['RequestId'] end end # CreateInvoker请求参数结构体 class CreateInvokerRequest < TencentCloud::Common::AbstractModel # @param Name: 执行器名称。 # @type Name: String # @param Type: 执行器类型,当前仅支持周期类型执行器,取值:`SCHEDULE` 。 # @type Type: String # @param CommandId: 远程命令ID。 # @type CommandId: String # @param InstanceIds: 触发器关联的实例ID。列表上限 100。 # @type InstanceIds: Array # @param Username: 命令执行用户。 # @type Username: String # @param Parameters: 命令自定义参数。 # @type Parameters: String # @param ScheduleSettings: 周期执行器设置,当创建周期执行器时,必须指定此参数。 # @type ScheduleSettings: :class:`Tencentcloud::Tat.v20201028.models.ScheduleSettings` attr_accessor :Name, :Type, :CommandId, :InstanceIds, :Username, :Parameters, :ScheduleSettings def initialize(name=nil, type=nil, commandid=nil, instanceids=nil, username=nil, parameters=nil, schedulesettings=nil) @Name = name @Type = type @CommandId = commandid @InstanceIds = instanceids @Username = username @Parameters = parameters @ScheduleSettings = schedulesettings end def deserialize(params) @Name = params['Name'] @Type = params['Type'] @CommandId = params['CommandId'] @InstanceIds = params['InstanceIds'] @Username = params['Username'] @Parameters = params['Parameters'] unless params['ScheduleSettings'].nil? @ScheduleSettings = ScheduleSettings.new @ScheduleSettings.deserialize(params['ScheduleSettings']) end end end # CreateInvoker返回参数结构体 class CreateInvokerResponse < TencentCloud::Common::AbstractModel # @param InvokerId: 执行器ID。 # @type InvokerId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :InvokerId, :RequestId def initialize(invokerid=nil, requestid=nil) @InvokerId = invokerid @RequestId = requestid end def deserialize(params) @InvokerId = params['InvokerId'] @RequestId = params['RequestId'] end end # DeleteCommand请求参数结构体 class DeleteCommandRequest < TencentCloud::Common::AbstractModel # @param CommandId: 待删除的命令ID。 # @type CommandId: String attr_accessor :CommandId def initialize(commandid=nil) @CommandId = commandid end def deserialize(params) @CommandId = params['CommandId'] end end # DeleteCommand返回参数结构体 class DeleteCommandResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteInvoker请求参数结构体 class DeleteInvokerRequest < TencentCloud::Common::AbstractModel # @param InvokerId: 待删除的执行器ID。 # @type InvokerId: String attr_accessor :InvokerId def initialize(invokerid=nil) @InvokerId = invokerid end def deserialize(params) @InvokerId = params['InvokerId'] end end # DeleteInvoker返回参数结构体 class DeleteInvokerResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DescribeAutomationAgentStatus请求参数结构体 class DescribeAutomationAgentStatusRequest < TencentCloud::Common::AbstractModel # @param InstanceIds: 待查询的实例ID列表。 # @type InstanceIds: Array # @param Filters: 过滤条件。
  • agent-status - String - 是否必填:否 -(过滤条件)按照agent状态过滤,取值:Online 在线,Offline 离线。
  • environment - String - 是否必填:否 -(过滤条件)按照agent运行环境查询,取值:Linux。
  • instance-id - String - 是否必填:否 -(过滤条件)按照实例ID过滤。
    每次请求的 `Filters` 的上限为10, `Filter.Values` 的上限为5。参数不支持同时指定 `InstanceIds` 和 `Filters` 。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于 `Offset` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :InstanceIds, :Filters, :Limit, :Offset def initialize(instanceids=nil, filters=nil, limit=nil, offset=nil) @InstanceIds = instanceids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @InstanceIds = params['InstanceIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeAutomationAgentStatus返回参数结构体 class DescribeAutomationAgentStatusResponse < TencentCloud::Common::AbstractModel # @param AutomationAgentSet: Agent 信息列表。 # @type AutomationAgentSet: Array # @param TotalCount: 符合条件的 Agent 总数。 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutomationAgentSet, :TotalCount, :RequestId def initialize(automationagentset=nil, totalcount=nil, requestid=nil) @AutomationAgentSet = automationagentset @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['AutomationAgentSet'].nil? @AutomationAgentSet = [] params['AutomationAgentSet'].each do |i| automationagentinfo_tmp = AutomationAgentInfo.new automationagentinfo_tmp.deserialize(i) @AutomationAgentSet << automationagentinfo_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeCommands请求参数结构体 class DescribeCommandsRequest < TencentCloud::Common::AbstractModel # @param CommandIds: 命令ID列表,每次请求的上限为100。参数不支持同时指定 `CommandIds` 和 `Filters` 。 # @type CommandIds: Array # @param Filters: 过滤条件。 #
  • command-id - String - 是否必填:否 -(过滤条件)按照命令ID过滤。 #
  • command-name - String - 是否必填:否 -(过滤条件)按照命令名称过滤。 #
  • command-type - String - 是否必填:否 -(过滤条件)按照命令类型过滤,取值为 SHELL 或 POWERSHELL。 #
  • created-by - String - 是否必填:否 -(过滤条件)按照命令创建者过滤,取值为 TAT 或 USER,TAT 代表公共命令,USER 代表由用户创建的命令。 #
  • tag-key - String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
  • #
  • tag-value - String - 是否必填:否 -(过滤条件)按照标签值进行过滤。
  • #
  • tag:tag-key - String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例4
  • # 每次请求的 `Filters` 的上限为10, `Filter.Values` 的上限为5。参数不支持同时指定 `CommandIds` 和 `Filters` 。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于 `Offset` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :CommandIds, :Filters, :Limit, :Offset def initialize(commandids=nil, filters=nil, limit=nil, offset=nil) @CommandIds = commandids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @CommandIds = params['CommandIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeCommands返回参数结构体 class DescribeCommandsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的命令总数。 # @type TotalCount: Integer # @param CommandSet: 命令详情列表。 # @type CommandSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :CommandSet, :RequestId def initialize(totalcount=nil, commandset=nil, requestid=nil) @TotalCount = totalcount @CommandSet = commandset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['CommandSet'].nil? @CommandSet = [] params['CommandSet'].each do |i| command_tmp = Command.new command_tmp.deserialize(i) @CommandSet << command_tmp end end @RequestId = params['RequestId'] end end # DescribeInvocationTasks请求参数结构体 class DescribeInvocationTasksRequest < TencentCloud::Common::AbstractModel # @param InvocationTaskIds: 执行任务ID列表,每次请求的上限为100。参数不支持同时指定 `InvocationTaskIds` 和 `Filters`。 # @type InvocationTaskIds: Array # @param Filters: 过滤条件。
  • invocation-id - String - 是否必填:否 -(过滤条件)按照执行活动ID过滤。
  • invocation-task-id - String - 是否必填:否 -(过滤条件)按照执行任务ID过滤。
  • instance-id - String - 是否必填:否 -(过滤条件)按照实例ID过滤。
  • command-id - String - 是否必填:否 -(过滤条件)按照命令ID过滤。
    每次请求的 `Filters` 的上限为10, `Filter.Values` 的上限为5。参数不支持同时指定 `InvocationTaskIds` 和 `Filters` 。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于 `Offset` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer # @param HideOutput: 是否隐藏输出,取值范围:
  • True:隐藏输出
  • False:不隐藏
    默认为 True。 # @type HideOutput: Boolean attr_accessor :InvocationTaskIds, :Filters, :Limit, :Offset, :HideOutput def initialize(invocationtaskids=nil, filters=nil, limit=nil, offset=nil, hideoutput=nil) @InvocationTaskIds = invocationtaskids @Filters = filters @Limit = limit @Offset = offset @HideOutput = hideoutput end def deserialize(params) @InvocationTaskIds = params['InvocationTaskIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] @HideOutput = params['HideOutput'] end end # DescribeInvocationTasks返回参数结构体 class DescribeInvocationTasksResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的执行任务总数。 # @type TotalCount: Integer # @param InvocationTaskSet: 执行任务列表。 # @type InvocationTaskSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :InvocationTaskSet, :RequestId def initialize(totalcount=nil, invocationtaskset=nil, requestid=nil) @TotalCount = totalcount @InvocationTaskSet = invocationtaskset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['InvocationTaskSet'].nil? @InvocationTaskSet = [] params['InvocationTaskSet'].each do |i| invocationtask_tmp = InvocationTask.new invocationtask_tmp.deserialize(i) @InvocationTaskSet << invocationtask_tmp end end @RequestId = params['RequestId'] end end # DescribeInvocations请求参数结构体 class DescribeInvocationsRequest < TencentCloud::Common::AbstractModel # @param InvocationIds: 执行活动ID列表,每次请求的上限为100。参数不支持同时指定 `InvocationIds` 和 `Filters`。 # @type InvocationIds: Array # @param Filters: 过滤条件。
  • invocation-id - String - 是否必填:否 -(过滤条件)按照执行活动ID过滤。
    #
  • command-id - String - 是否必填:否 -(过滤条件)按照命令ID过滤。 #
  • command-created-by - String - 是否必填:否 -(过滤条件)按照执行的命令类型过滤,取值为 TAT 或 USER,TAT 代表公共命令,USER 代表由用户创建的命令。 #
  • instance-kind - String - 是否必填:否 -(过滤条件)按照运行实例类型过滤,取值为 CVM 或 LIGHTHOUSE,CVM 代表实例为云服务器, LIGHTHOUSE 代表实例为轻量应用服务器。 #
    每次请求的 `Filters` 的上限为10, `Filter.Values` 的上限为5。参数不支持同时指定 `InvocationIds` 和 `Filters` 。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于 `Offset` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :InvocationIds, :Filters, :Limit, :Offset def initialize(invocationids=nil, filters=nil, limit=nil, offset=nil) @InvocationIds = invocationids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @InvocationIds = params['InvocationIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeInvocations返回参数结构体 class DescribeInvocationsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的执行活动总数。 # @type TotalCount: Integer # @param InvocationSet: 执行活动列表。 # @type InvocationSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :InvocationSet, :RequestId def initialize(totalcount=nil, invocationset=nil, requestid=nil) @TotalCount = totalcount @InvocationSet = invocationset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['InvocationSet'].nil? @InvocationSet = [] params['InvocationSet'].each do |i| invocation_tmp = Invocation.new invocation_tmp.deserialize(i) @InvocationSet << invocation_tmp end end @RequestId = params['RequestId'] end end # DescribeInvokerRecords请求参数结构体 class DescribeInvokerRecordsRequest < TencentCloud::Common::AbstractModel # @param InvokerIds: 执行器ID列表。列表上限 100。 # @type InvokerIds: Array # @param Limit: 返回数量,默认为20,最大值为100。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。 # @type Offset: Integer attr_accessor :InvokerIds, :Limit, :Offset def initialize(invokerids=nil, limit=nil, offset=nil) @InvokerIds = invokerids @Limit = limit @Offset = offset end def deserialize(params) @InvokerIds = params['InvokerIds'] @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeInvokerRecords返回参数结构体 class DescribeInvokerRecordsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的历史记录数量。 # @type TotalCount: Integer # @param InvokerRecordSet: 执行器执行历史记录。 # @type InvokerRecordSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :InvokerRecordSet, :RequestId def initialize(totalcount=nil, invokerrecordset=nil, requestid=nil) @TotalCount = totalcount @InvokerRecordSet = invokerrecordset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['InvokerRecordSet'].nil? @InvokerRecordSet = [] params['InvokerRecordSet'].each do |i| invokerrecord_tmp = InvokerRecord.new invokerrecord_tmp.deserialize(i) @InvokerRecordSet << invokerrecord_tmp end end @RequestId = params['RequestId'] end end # DescribeInvokers请求参数结构体 class DescribeInvokersRequest < TencentCloud::Common::AbstractModel # @param InvokerIds: 执行器ID列表。 # @type InvokerIds: Array # @param Filters: 过滤条件: #
  • invoker-id - String - 是否必填:否 - (过滤条件)按执行器ID过滤。 #
  • command-id - String - 是否必填:否 - (过滤条件)按命令ID过滤。 #
  • type - String - 是否必填:否 - (过滤条件)按执行器类型过滤。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。 # @type Offset: Integer attr_accessor :InvokerIds, :Filters, :Limit, :Offset def initialize(invokerids=nil, filters=nil, limit=nil, offset=nil) @InvokerIds = invokerids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @InvokerIds = params['InvokerIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeInvokers返回参数结构体 class DescribeInvokersResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 满足条件的执行器数量。 # @type TotalCount: Integer # @param InvokerSet: 执行器信息。 # @type InvokerSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :InvokerSet, :RequestId def initialize(totalcount=nil, invokerset=nil, requestid=nil) @TotalCount = totalcount @InvokerSet = invokerset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['InvokerSet'].nil? @InvokerSet = [] params['InvokerSet'].each do |i| invoker_tmp = Invoker.new invoker_tmp.deserialize(i) @InvokerSet << invoker_tmp end end @RequestId = params['RequestId'] end end # DescribeRegions请求参数结构体 class DescribeRegionsRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeRegions返回参数结构体 class DescribeRegionsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 地域数量 # @type TotalCount: Integer # @param RegionSet: 地域信息列表 # @type RegionSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :RegionSet, :RequestId def initialize(totalcount=nil, regionset=nil, requestid=nil) @TotalCount = totalcount @RegionSet = regionset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['RegionSet'].nil? @RegionSet = [] params['RegionSet'].each do |i| regioninfo_tmp = RegionInfo.new regioninfo_tmp.deserialize(i) @RegionSet << regioninfo_tmp end end @RequestId = params['RequestId'] end end # DisableInvoker请求参数结构体 class DisableInvokerRequest < TencentCloud::Common::AbstractModel # @param InvokerId: 待停止的执行器ID。 # @type InvokerId: String attr_accessor :InvokerId def initialize(invokerid=nil) @InvokerId = invokerid end def deserialize(params) @InvokerId = params['InvokerId'] end end # DisableInvoker返回参数结构体 class DisableInvokerResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # EnableInvoker请求参数结构体 class EnableInvokerRequest < TencentCloud::Common::AbstractModel # @param InvokerId: 待启用的执行器ID。 # @type InvokerId: String attr_accessor :InvokerId def initialize(invokerid=nil) @InvokerId = invokerid end def deserialize(params) @InvokerId = params['InvokerId'] end end # EnableInvoker返回参数结构体 class EnableInvokerResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等 # > * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。 # > * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。 # > # > 以[DescribeInstances](https://cloud.tencent.com/document/api/213/15728)接口的`Filter`为例。若我们需要查询可用区(`zone`)为广州一区 ***并且*** 实例计费模式(`instance-charge-type`)为包年包月 ***或者*** 按量计费的实例时,可如下实现: # ``` # Filters.0.Name=zone # &Filters.0.Values.0=ap-guangzhou-1 # &Filters.1.Name=instance-charge-type # &Filters.1.Values.0=PREPAID # &Filters.1.Values.1=POSTPAID_BY_HOUR # ``` class Filter < TencentCloud::Common::AbstractModel # @param Name: 需要过滤的字段。 # @type Name: String # @param Values: 字段的过滤值。 # @type Values: Array attr_accessor :Name, :Values def initialize(name=nil, values=nil) @Name = name @Values = values end def deserialize(params) @Name = params['Name'] @Values = params['Values'] end end # 执行活动详情。 class Invocation < TencentCloud::Common::AbstractModel # @param InvocationId: 执行活动ID。 # @type InvocationId: String # @param CommandId: 命令ID。 # @type CommandId: String # @param InvocationStatus: 执行任务状态。取值范围: #
  • PENDING:等待下发 #
  • RUNNING:命令运行中 #
  • SUCCESS:命令成功 #
  • FAILED:命令失败 #
  • TIMEOUT:命令超时 #
  • PARTIAL_FAILED:命令部分失败 # @type InvocationStatus: String # @param InvocationTaskBasicInfoSet: 执行任务信息列表。 # @type InvocationTaskBasicInfoSet: Array # @param Description: 执行活动描述。 # @type Description: String # @param StartTime: 执行活动开始时间。 # @type StartTime: String # @param EndTime: 执行活动结束时间。 # @type EndTime: String # @param CreatedTime: 执行活动创建时间。 # @type CreatedTime: String # @param UpdatedTime: 执行活动更新时间。 # @type UpdatedTime: String # @param Parameters: 自定义参数取值。 # @type Parameters: String # @param DefaultParameters: 自定义参数的默认取值。 # @type DefaultParameters: String # @param InstanceKind: 执行命令的实例类型,取值范围:CVM、LIGHTHOUSE。 # @type InstanceKind: String # @param Username: 在实例上执行命令时使用的用户名。 # @type Username: String # @param InvocationSource: 调用来源。 # @type InvocationSource: String # @param CommandContent: base64编码的命令内容 # @type CommandContent: String # @param CommandType: 命令类型 # @type CommandType: String # @param Timeout: 执行命令过期时间, 单位秒 # @type Timeout: Integer # @param WorkingDirectory: 执行命令的工作路径 # @type WorkingDirectory: String # @param OutputCOSBucketUrl: 日志上传的cos bucket 地址。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 日志在cos bucket中的目录。 # @type OutputCOSKeyPrefix: String attr_accessor :InvocationId, :CommandId, :InvocationStatus, :InvocationTaskBasicInfoSet, :Description, :StartTime, :EndTime, :CreatedTime, :UpdatedTime, :Parameters, :DefaultParameters, :InstanceKind, :Username, :InvocationSource, :CommandContent, :CommandType, :Timeout, :WorkingDirectory, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(invocationid=nil, commandid=nil, invocationstatus=nil, invocationtaskbasicinfoset=nil, description=nil, starttime=nil, endtime=nil, createdtime=nil, updatedtime=nil, parameters=nil, defaultparameters=nil, instancekind=nil, username=nil, invocationsource=nil, commandcontent=nil, commandtype=nil, timeout=nil, workingdirectory=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @InvocationId = invocationid @CommandId = commandid @InvocationStatus = invocationstatus @InvocationTaskBasicInfoSet = invocationtaskbasicinfoset @Description = description @StartTime = starttime @EndTime = endtime @CreatedTime = createdtime @UpdatedTime = updatedtime @Parameters = parameters @DefaultParameters = defaultparameters @InstanceKind = instancekind @Username = username @InvocationSource = invocationsource @CommandContent = commandcontent @CommandType = commandtype @Timeout = timeout @WorkingDirectory = workingdirectory @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @InvocationId = params['InvocationId'] @CommandId = params['CommandId'] @InvocationStatus = params['InvocationStatus'] unless params['InvocationTaskBasicInfoSet'].nil? @InvocationTaskBasicInfoSet = [] params['InvocationTaskBasicInfoSet'].each do |i| invocationtaskbasicinfo_tmp = InvocationTaskBasicInfo.new invocationtaskbasicinfo_tmp.deserialize(i) @InvocationTaskBasicInfoSet << invocationtaskbasicinfo_tmp end end @Description = params['Description'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @CreatedTime = params['CreatedTime'] @UpdatedTime = params['UpdatedTime'] @Parameters = params['Parameters'] @DefaultParameters = params['DefaultParameters'] @InstanceKind = params['InstanceKind'] @Username = params['Username'] @InvocationSource = params['InvocationSource'] @CommandContent = params['CommandContent'] @CommandType = params['CommandType'] @Timeout = params['Timeout'] @WorkingDirectory = params['WorkingDirectory'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # 执行任务。 class InvocationTask < TencentCloud::Common::AbstractModel # @param InvocationId: 执行活动ID。 # @type InvocationId: String # @param InvocationTaskId: 执行任务ID。 # @type InvocationTaskId: String # @param CommandId: 命令ID。 # @type CommandId: String # @param TaskStatus: 执行任务状态。取值范围: #
  • PENDING:等待下发 #
  • DELIVERING:下发中 #
  • DELIVER_DELAYED:延时下发 #
  • DELIVER_FAILED:下发失败 #
  • START_FAILED:命令启动失败 #
  • RUNNING:命令运行中 #
  • SUCCESS:命令成功 #
  • FAILED:命令执行失败,执行完退出码不为 0 #
  • TIMEOUT:命令超时 #
  • TASK_TIMEOUT:执行任务超时 #
  • CANCELLING:取消中 #
  • CANCELLED:已取消(命令启动前就被取消) #
  • TERMINATED:已中止(命令执行期间被取消) # @type TaskStatus: String # @param InstanceId: 实例ID。 # @type InstanceId: String # @param TaskResult: 执行结果。 # @type TaskResult: :class:`Tencentcloud::Tat.v20201028.models.TaskResult` # @param StartTime: 执行任务开始时间。 # @type StartTime: String # @param EndTime: 执行任务结束时间。 # @type EndTime: String # @param CreatedTime: 创建时间。 # @type CreatedTime: String # @param UpdatedTime: 更新时间。 # @type UpdatedTime: String # @param CommandDocument: 执行任务所执行的命令详情。 # @type CommandDocument: :class:`Tencentcloud::Tat.v20201028.models.CommandDocument` # @param ErrorInfo: 执行任务失败时的错误信息。 # @type ErrorInfo: String # @param InvocationSource: 调用来源。 # @type InvocationSource: String attr_accessor :InvocationId, :InvocationTaskId, :CommandId, :TaskStatus, :InstanceId, :TaskResult, :StartTime, :EndTime, :CreatedTime, :UpdatedTime, :CommandDocument, :ErrorInfo, :InvocationSource def initialize(invocationid=nil, invocationtaskid=nil, commandid=nil, taskstatus=nil, instanceid=nil, taskresult=nil, starttime=nil, endtime=nil, createdtime=nil, updatedtime=nil, commanddocument=nil, errorinfo=nil, invocationsource=nil) @InvocationId = invocationid @InvocationTaskId = invocationtaskid @CommandId = commandid @TaskStatus = taskstatus @InstanceId = instanceid @TaskResult = taskresult @StartTime = starttime @EndTime = endtime @CreatedTime = createdtime @UpdatedTime = updatedtime @CommandDocument = commanddocument @ErrorInfo = errorinfo @InvocationSource = invocationsource end def deserialize(params) @InvocationId = params['InvocationId'] @InvocationTaskId = params['InvocationTaskId'] @CommandId = params['CommandId'] @TaskStatus = params['TaskStatus'] @InstanceId = params['InstanceId'] unless params['TaskResult'].nil? @TaskResult = TaskResult.new @TaskResult.deserialize(params['TaskResult']) end @StartTime = params['StartTime'] @EndTime = params['EndTime'] @CreatedTime = params['CreatedTime'] @UpdatedTime = params['UpdatedTime'] unless params['CommandDocument'].nil? @CommandDocument = CommandDocument.new @CommandDocument.deserialize(params['CommandDocument']) end @ErrorInfo = params['ErrorInfo'] @InvocationSource = params['InvocationSource'] end end # 执行活动任务简介。 class InvocationTaskBasicInfo < TencentCloud::Common::AbstractModel # @param InvocationTaskId: 执行任务ID。 # @type InvocationTaskId: String # @param TaskStatus: 执行任务状态。取值范围: #
  • PENDING:等待下发 #
  • DELIVERING:下发中 #
  • DELIVER_DELAYED:延时下发 #
  • DELIVER_FAILED:下发失败 #
  • START_FAILED:命令启动失败 #
  • RUNNING:命令运行中 #
  • SUCCESS:命令成功 #
  • FAILED:命令执行失败,执行完退出码不为 0 #
  • TIMEOUT:命令超时 #
  • TASK_TIMEOUT:执行任务超时 #
  • CANCELLING:取消中 #
  • CANCELLED:已取消(命令启动前就被取消) #
  • TERMINATED:已中止(命令执行期间被取消) # @type TaskStatus: String # @param InstanceId: 实例ID。 # @type InstanceId: String attr_accessor :InvocationTaskId, :TaskStatus, :InstanceId def initialize(invocationtaskid=nil, taskstatus=nil, instanceid=nil) @InvocationTaskId = invocationtaskid @TaskStatus = taskstatus @InstanceId = instanceid end def deserialize(params) @InvocationTaskId = params['InvocationTaskId'] @TaskStatus = params['TaskStatus'] @InstanceId = params['InstanceId'] end end # InvokeCommand请求参数结构体 class InvokeCommandRequest < TencentCloud::Common::AbstractModel # @param CommandId: 待触发的命令ID。 # @type CommandId: String # @param InstanceIds: 待执行命令的实例ID列表,上限100。 # @type InstanceIds: Array # @param Parameters: Command 的自定义参数。字段类型为json encoded string。如:{\"varA\": \"222\"}。 # key为自定义参数名称,value为该参数的默认取值。kv均为字符串型。 # 如果未提供该参数取值,将使用 Command 的 DefaultParameters 进行替换。 # 自定义参数最多20个。 # 自定义参数名称需符合以下规范:字符数目上限64,可选范围【a-zA-Z0-9-_】。 # @type Parameters: String # @param Username: 在 CVM 或 Lighthouse 实例中执行命令的用户名称。 # 使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。若不填,默认以 Command 配置的 Username 执行。 # @type Username: String # @param WorkingDirectory: 命令执行路径, 默认以Command配置的WorkingDirectory执行。 # @type WorkingDirectory: String # @param Timeout: 命令超时时间,取值范围[1, 86400]。默认以Command配置的Timeout执行。 # @type Timeout: Integer # @param OutputCOSBucketUrl: 指定日志上传的cos bucket 地址,必须以https开头,如 https://BucketName-123454321.cos.ap-beijing.myqcloud.com。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 指定日志在cos bucket中的目录,目录命名有如下规则: # 1. 可用数字、中英文和可见字符的组合,长度最多为60。 # 2. 用 / 分割路径,可快速创建子目录。 # 3. 不允许连续 / ;不允许以 / 开头;不允许以..作为文件夹名称。 # @type OutputCOSKeyPrefix: String attr_accessor :CommandId, :InstanceIds, :Parameters, :Username, :WorkingDirectory, :Timeout, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(commandid=nil, instanceids=nil, parameters=nil, username=nil, workingdirectory=nil, timeout=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @CommandId = commandid @InstanceIds = instanceids @Parameters = parameters @Username = username @WorkingDirectory = workingdirectory @Timeout = timeout @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @CommandId = params['CommandId'] @InstanceIds = params['InstanceIds'] @Parameters = params['Parameters'] @Username = params['Username'] @WorkingDirectory = params['WorkingDirectory'] @Timeout = params['Timeout'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # InvokeCommand返回参数结构体 class InvokeCommandResponse < TencentCloud::Common::AbstractModel # @param InvocationId: 执行活动ID。 # @type InvocationId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :InvocationId, :RequestId def initialize(invocationid=nil, requestid=nil) @InvocationId = invocationid @RequestId = requestid end def deserialize(params) @InvocationId = params['InvocationId'] @RequestId = params['RequestId'] end end # 执行器信息。 class Invoker < TencentCloud::Common::AbstractModel # @param InvokerId: 执行器ID。 # @type InvokerId: String # @param Name: 执行器名称。 # @type Name: String # @param Type: 执行器类型。 # @type Type: String # @param CommandId: 命令ID。 # @type CommandId: String # @param Username: 用户名。 # @type Username: String # @param Parameters: 自定义参数。 # @type Parameters: String # @param InstanceIds: 实例ID列表。 # @type InstanceIds: Array # @param Enable: 执行器是否启用。 # @type Enable: Boolean # @param ScheduleSettings: 执行器周期计划。周期执行器会返回此字段。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ScheduleSettings: :class:`Tencentcloud::Tat.v20201028.models.ScheduleSettings` # @param CreatedTime: 创建时间。 # @type CreatedTime: String # @param UpdatedTime: 修改时间。 # @type UpdatedTime: String attr_accessor :InvokerId, :Name, :Type, :CommandId, :Username, :Parameters, :InstanceIds, :Enable, :ScheduleSettings, :CreatedTime, :UpdatedTime def initialize(invokerid=nil, name=nil, type=nil, commandid=nil, username=nil, parameters=nil, instanceids=nil, enable=nil, schedulesettings=nil, createdtime=nil, updatedtime=nil) @InvokerId = invokerid @Name = name @Type = type @CommandId = commandid @Username = username @Parameters = parameters @InstanceIds = instanceids @Enable = enable @ScheduleSettings = schedulesettings @CreatedTime = createdtime @UpdatedTime = updatedtime end def deserialize(params) @InvokerId = params['InvokerId'] @Name = params['Name'] @Type = params['Type'] @CommandId = params['CommandId'] @Username = params['Username'] @Parameters = params['Parameters'] @InstanceIds = params['InstanceIds'] @Enable = params['Enable'] unless params['ScheduleSettings'].nil? @ScheduleSettings = ScheduleSettings.new @ScheduleSettings.deserialize(params['ScheduleSettings']) end @CreatedTime = params['CreatedTime'] @UpdatedTime = params['UpdatedTime'] end end # 执行器执行记录。 class InvokerRecord < TencentCloud::Common::AbstractModel # @param InvokerId: 执行器ID。 # @type InvokerId: String # @param InvokeTime: 执行时间。 # @type InvokeTime: String # @param Reason: 执行原因。 # @type Reason: String # @param InvocationId: 命令执行ID。 # @type InvocationId: String # @param Result: 触发结果。 # @type Result: String attr_accessor :InvokerId, :InvokeTime, :Reason, :InvocationId, :Result def initialize(invokerid=nil, invoketime=nil, reason=nil, invocationid=nil, result=nil) @InvokerId = invokerid @InvokeTime = invoketime @Reason = reason @InvocationId = invocationid @Result = result end def deserialize(params) @InvokerId = params['InvokerId'] @InvokeTime = params['InvokeTime'] @Reason = params['Reason'] @InvocationId = params['InvocationId'] @Result = params['Result'] end end # ModifyCommand请求参数结构体 class ModifyCommandRequest < TencentCloud::Common::AbstractModel # @param CommandId: 命令ID。 # @type CommandId: String # @param CommandName: 命令名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type CommandName: String # @param Description: 命令描述。不超过120字符。 # @type Description: String # @param Content: Base64编码后的命令内容,长度不可超过64KB。 # @type Content: String # @param CommandType: 命令类型,目前支持取值:SHELL、POWERSHELL。 # @type CommandType: String # @param WorkingDirectory: 命令执行路径。 # @type WorkingDirectory: String # @param Timeout: 命令超时时间。取值范围[1, 86400]。 # @type Timeout: Integer # @param DefaultParameters: 启用自定义参数功能时,自定义参数的默认取值。字段类型为json encoded string。如:{\"varA\": \"222\"}。 # 采取整体全覆盖式修改,即修改时必须提供所有新默认值。 # 必须 Command 的 EnableParameter 为 true 时,才允许修改这个值。 # key为自定义参数名称,value为该参数的默认取值。kv均为字符串型。 # 自定义参数最多20个。 # 自定义参数名称需符合以下规范:字符数目上限64,可选范围【a-zA-Z0-9-_】。 # @type DefaultParameters: String # @param Username: 在 CVM 或 Lighthouse 实例中执行命令的用户名称。 # 使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。 # @type Username: String # @param OutputCOSBucketUrl: 指定日志上传的cos bucket 地址,必须以https开头,如 https://BucketName-123454321.cos.ap-beijing.myqcloud.com。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 指定日志在cos bucket中的目录,目录命名有如下规则: # 1. 可用数字、中英文和可见字符的组合,长度最多为60。 # 2. 用 / 分割路径,可快速创建子目录。 # 3. 不允许连续 / ;不允许以 / 开头;不允许以..作为文件夹名称。 # @type OutputCOSKeyPrefix: String attr_accessor :CommandId, :CommandName, :Description, :Content, :CommandType, :WorkingDirectory, :Timeout, :DefaultParameters, :Username, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(commandid=nil, commandname=nil, description=nil, content=nil, commandtype=nil, workingdirectory=nil, timeout=nil, defaultparameters=nil, username=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @CommandId = commandid @CommandName = commandname @Description = description @Content = content @CommandType = commandtype @WorkingDirectory = workingdirectory @Timeout = timeout @DefaultParameters = defaultparameters @Username = username @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @CommandId = params['CommandId'] @CommandName = params['CommandName'] @Description = params['Description'] @Content = params['Content'] @CommandType = params['CommandType'] @WorkingDirectory = params['WorkingDirectory'] @Timeout = params['Timeout'] @DefaultParameters = params['DefaultParameters'] @Username = params['Username'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # ModifyCommand返回参数结构体 class ModifyCommandResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyInvoker请求参数结构体 class ModifyInvokerRequest < TencentCloud::Common::AbstractModel # @param InvokerId: 待修改的执行器ID。 # @type InvokerId: String # @param Name: 待修改的执行器名称。 # @type Name: String # @param Type: 执行器类型,当前仅支持周期类型执行器,取值:`SCHEDULE` 。 # @type Type: String # @param CommandId: 待修改的命令ID。 # @type CommandId: String # @param Username: 待修改的用户名。 # @type Username: String # @param Parameters: 待修改的自定义参数。 # @type Parameters: String # @param InstanceIds: 待修改的实例ID列表。列表长度上限100。 # @type InstanceIds: Array # @param ScheduleSettings: 待修改的周期执行器设置。 # @type ScheduleSettings: :class:`Tencentcloud::Tat.v20201028.models.ScheduleSettings` attr_accessor :InvokerId, :Name, :Type, :CommandId, :Username, :Parameters, :InstanceIds, :ScheduleSettings def initialize(invokerid=nil, name=nil, type=nil, commandid=nil, username=nil, parameters=nil, instanceids=nil, schedulesettings=nil) @InvokerId = invokerid @Name = name @Type = type @CommandId = commandid @Username = username @Parameters = parameters @InstanceIds = instanceids @ScheduleSettings = schedulesettings end def deserialize(params) @InvokerId = params['InvokerId'] @Name = params['Name'] @Type = params['Type'] @CommandId = params['CommandId'] @Username = params['Username'] @Parameters = params['Parameters'] @InstanceIds = params['InstanceIds'] unless params['ScheduleSettings'].nil? @ScheduleSettings = ScheduleSettings.new @ScheduleSettings.deserialize(params['ScheduleSettings']) end end end # ModifyInvoker返回参数结构体 class ModifyInvokerResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # PreviewReplacedCommandContent请求参数结构体 class PreviewReplacedCommandContentRequest < TencentCloud::Common::AbstractModel # @param Parameters: 本次预览采用的自定义参数。字段类型为 json encoded string,如:{\"varA\": \"222\"}。 # key 为自定义参数名称,value 为该参数的取值。kv 均为字符串型。 # 自定义参数最多 20 个。 # 自定义参数名称需符合以下规范:字符数目上限 64,可选范围【a-zA-Z0-9-_】。 # 如果将预览的 CommandId 设置过 DefaultParameters,本参数可以为空。 # @type Parameters: String # @param CommandId: 要进行替换预览的命令,如果有设置过 DefaultParameters,会与 Parameters 进行叠加,后者覆盖前者。 # CommandId 与 Content,必须且只能提供一个。 # @type CommandId: String # @param Content: 要预览的命令内容,经 Base64 编码,长度不可超过 64KB。 # CommandId 与 Content,必须且只能提供一个。 # @type Content: String attr_accessor :Parameters, :CommandId, :Content def initialize(parameters=nil, commandid=nil, content=nil) @Parameters = parameters @CommandId = commandid @Content = content end def deserialize(params) @Parameters = params['Parameters'] @CommandId = params['CommandId'] @Content = params['Content'] end end # PreviewReplacedCommandContent返回参数结构体 class PreviewReplacedCommandContentResponse < TencentCloud::Common::AbstractModel # @param ReplacedContent: 自定义参数替换后的,经Base64编码的命令内容。 # @type ReplacedContent: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ReplacedContent, :RequestId def initialize(replacedcontent=nil, requestid=nil) @ReplacedContent = replacedcontent @RequestId = requestid end def deserialize(params) @ReplacedContent = params['ReplacedContent'] @RequestId = params['RequestId'] end end # 描述单个地域信息 class RegionInfo < TencentCloud::Common::AbstractModel # @param Region: 地域名称,例如,ap-guangzhou # @type Region: String # @param RegionName: 地域描述,例如: 广州 # @type RegionName: String # @param RegionState: 地域是否可用状态,AVAILABLE 代表可用 # @type RegionState: String attr_accessor :Region, :RegionName, :RegionState def initialize(region=nil, regionname=nil, regionstate=nil) @Region = region @RegionName = regionname @RegionState = regionstate end def deserialize(params) @Region = params['Region'] @RegionName = params['RegionName'] @RegionState = params['RegionState'] end end # RunCommand请求参数结构体 class RunCommandRequest < TencentCloud::Common::AbstractModel # @param Content: Base64编码后的命令内容,长度不可超过64KB。 # @type Content: String # @param InstanceIds: 待执行命令的实例ID列表,上限100。支持实例类型: #
  • CVM #
  • LIGHTHOUSE # @type InstanceIds: Array # @param CommandName: 命令名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type CommandName: String # @param Description: 命令描述。不超过120字符。 # @type Description: String # @param CommandType: 命令类型,目前支持取值:SHELL、POWERSHELL。默认:SHELL。 # @type CommandType: String # @param WorkingDirectory: 命令执行路径,对于 SHELL 命令默认为 /root,对于 POWERSHELL 命令默认为 C:\Program Files\qcloud\tat_agent\workdir。 # @type WorkingDirectory: String # @param Timeout: 命令超时时间,默认60秒。取值范围[1, 86400]。 # @type Timeout: Integer # @param SaveCommand: 是否保存命令,取值范围: #
  • True:保存 #
  • False:不保存 # 默认为 False。 # @type SaveCommand: Boolean # @param EnableParameter: 是否启用自定义参数功能。 # 一旦创建,此值不提供修改。 # 默认值:false。 # @type EnableParameter: Boolean # @param DefaultParameters: 启用自定义参数功能时,自定义参数的默认取值。字段类型为json encoded string。如:{\"varA\": \"222\"}。 # key为自定义参数名称,value为该参数的默认取值。kv均为字符串型。 # 如果 Parameters 未提供,将使用这里的默认值进行替换。 # 自定义参数最多20个。 # 自定义参数名称需符合以下规范:字符数目上限64,可选范围【a-zA-Z0-9-_】。 # @type DefaultParameters: String # @param Parameters: Command 的自定义参数。字段类型为json encoded string。如:{\"varA\": \"222\"}。 # key为自定义参数名称,value为该参数的默认取值。kv均为字符串型。 # 如果未提供该参数取值,将使用 DefaultParameters 进行替换。 # 自定义参数最多20个。 # 自定义参数名称需符合以下规范:字符数目上限64,可选范围【a-zA-Z0-9-_】。 # @type Parameters: String # @param Tags: 如果保存命令,可为命令设置标签。列表长度不超过10。 # @type Tags: Array # @param Username: 在 CVM 或 Lighthouse 实例中执行命令的用户名称。 # 使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。默认情况下,在 Linux 实例中以 root 用户执行命令;在Windows 实例中以 System 用户执行命令。 # @type Username: String # @param OutputCOSBucketUrl: 指定日志上传的cos bucket 地址,必须以https开头,如 https://BucketName-123454321.cos.ap-beijing.myqcloud.com。 # @type OutputCOSBucketUrl: String # @param OutputCOSKeyPrefix: 指定日志在cos bucket中的目录,目录命名有如下规则: # 1. 可用数字、中英文和可见字符的组合,长度最多为60。 # 2. 用 / 分割路径,可快速创建子目录。 # 3. 不允许连续 / ;不允许以 / 开头;不允许以..作为文件夹名称。 # @type OutputCOSKeyPrefix: String attr_accessor :Content, :InstanceIds, :CommandName, :Description, :CommandType, :WorkingDirectory, :Timeout, :SaveCommand, :EnableParameter, :DefaultParameters, :Parameters, :Tags, :Username, :OutputCOSBucketUrl, :OutputCOSKeyPrefix def initialize(content=nil, instanceids=nil, commandname=nil, description=nil, commandtype=nil, workingdirectory=nil, timeout=nil, savecommand=nil, enableparameter=nil, defaultparameters=nil, parameters=nil, tags=nil, username=nil, outputcosbucketurl=nil, outputcoskeyprefix=nil) @Content = content @InstanceIds = instanceids @CommandName = commandname @Description = description @CommandType = commandtype @WorkingDirectory = workingdirectory @Timeout = timeout @SaveCommand = savecommand @EnableParameter = enableparameter @DefaultParameters = defaultparameters @Parameters = parameters @Tags = tags @Username = username @OutputCOSBucketUrl = outputcosbucketurl @OutputCOSKeyPrefix = outputcoskeyprefix end def deserialize(params) @Content = params['Content'] @InstanceIds = params['InstanceIds'] @CommandName = params['CommandName'] @Description = params['Description'] @CommandType = params['CommandType'] @WorkingDirectory = params['WorkingDirectory'] @Timeout = params['Timeout'] @SaveCommand = params['SaveCommand'] @EnableParameter = params['EnableParameter'] @DefaultParameters = params['DefaultParameters'] @Parameters = params['Parameters'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tag_tmp = Tag.new tag_tmp.deserialize(i) @Tags << tag_tmp end end @Username = params['Username'] @OutputCOSBucketUrl = params['OutputCOSBucketUrl'] @OutputCOSKeyPrefix = params['OutputCOSKeyPrefix'] end end # RunCommand返回参数结构体 class RunCommandResponse < TencentCloud::Common::AbstractModel # @param CommandId: 命令ID。 # @type CommandId: String # @param InvocationId: 执行活动ID。 # @type InvocationId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :CommandId, :InvocationId, :RequestId def initialize(commandid=nil, invocationid=nil, requestid=nil) @CommandId = commandid @InvocationId = invocationid @RequestId = requestid end def deserialize(params) @CommandId = params['CommandId'] @InvocationId = params['InvocationId'] @RequestId = params['RequestId'] end end # 周期执行器设置。 class ScheduleSettings < TencentCloud::Common::AbstractModel # @param Policy: 执行策略: #
  • ONCE:单次执行 #
  • RECURRENCE:周期执行 # @type Policy: String # @param Recurrence: 触发 Crontab 表达式。Policy 为 RECURRENCE 时,需要指定此字段。Crontab 按北京时间解析。 # @type Recurrence: String # @param InvokeTime: 执行器下次执行时间。Policy 为 ONCE 时,需要指定此字段。 # @type InvokeTime: String attr_accessor :Policy, :Recurrence, :InvokeTime def initialize(policy=nil, recurrence=nil, invoketime=nil) @Policy = policy @Recurrence = recurrence @InvokeTime = invoketime end def deserialize(params) @Policy = params['Policy'] @Recurrence = params['Recurrence'] @InvokeTime = params['InvokeTime'] end end # 标签 class Tag < TencentCloud::Common::AbstractModel # @param Key: 标签键。 # @type Key: String # @param Value: 标签值。 # @type Value: String attr_accessor :Key, :Value def initialize(key=nil, value=nil) @Key = key @Value = value end def deserialize(params) @Key = params['Key'] @Value = params['Value'] end end # 任务结果。 class TaskResult < TencentCloud::Common::AbstractModel # @param ExitCode: 命令执行ExitCode。 # @type ExitCode: Integer # @param Output: Base64编码后的命令输出。最大长度24KB。 # @type Output: String # @param ExecStartTime: 命令执行开始时间。 # @type ExecStartTime: String # @param ExecEndTime: 命令执行结束时间。 # @type ExecEndTime: String # @param Dropped: 命令最终输出被截断的字节数。 # @type Dropped: Integer # @param OutputUrl: 日志在cos中的地址 # @type OutputUrl: String # @param OutputUploadCOSErrorInfo: 日志上传cos的错误信息。 # @type OutputUploadCOSErrorInfo: String attr_accessor :ExitCode, :Output, :ExecStartTime, :ExecEndTime, :Dropped, :OutputUrl, :OutputUploadCOSErrorInfo def initialize(exitcode=nil, output=nil, execstarttime=nil, execendtime=nil, dropped=nil, outputurl=nil, outputuploadcoserrorinfo=nil) @ExitCode = exitcode @Output = output @ExecStartTime = execstarttime @ExecEndTime = execendtime @Dropped = dropped @OutputUrl = outputurl @OutputUploadCOSErrorInfo = outputuploadcoserrorinfo end def deserialize(params) @ExitCode = params['ExitCode'] @Output = params['Output'] @ExecStartTime = params['ExecStartTime'] @ExecEndTime = params['ExecEndTime'] @Dropped = params['Dropped'] @OutputUrl = params['OutputUrl'] @OutputUploadCOSErrorInfo = params['OutputUploadCOSErrorInfo'] end end end end end