# 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.
require 'json'
module TencentCloud
module Cls
module V20201016
class Client < TencentCloud::Common::AbstractClient
def initialize(credential, region, profile = nil)
api_version = '2020-10-16'
api_endpoint = 'cls.tencentcloudapi.com'
sdk_version = 'CLS_' + File.read(File.expand_path('../VERSION', __dir__)).strip
super(credential, region, api_version, api_endpoint, sdk_version, profile)
end
# 应用采集配置到指定机器组
# @param request: Request instance for ApplyConfigToMachineGroup.
# @type request: :class:`Tencentcloud::cls::V20201016::ApplyConfigToMachineGroupRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ApplyConfigToMachineGroupResponse`
def ApplyConfigToMachineGroup(request)
body = send_request('ApplyConfigToMachineGroup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ApplyConfigToMachineGroupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建告警策略。
# @param request: Request instance for CreateAlarm.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateAlarmRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateAlarmResponse`
def CreateAlarm(request)
body = send_request('CreateAlarm', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateAlarmResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用于创建通知渠道组。
# @param request: Request instance for CreateAlarmNotice.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateAlarmNoticeRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateAlarmNoticeResponse`
def CreateAlarmNotice(request)
body = send_request('CreateAlarmNotice', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateAlarmNoticeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建采集规则配置
# @param request: Request instance for CreateConfig.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateConfigRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateConfigResponse`
def CreateConfig(request)
body = send_request('CreateConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建特殊采集配置任务
# @param request: Request instance for CreateConfigExtra.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateConfigExtraRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateConfigExtraResponse`
def CreateConfigExtra(request)
body = send_request('CreateConfigExtra', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateConfigExtraResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建投递任务
# @param request: Request instance for CreateConsumer.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateConsumerRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateConsumerResponse`
def CreateConsumer(request)
body = send_request('CreateConsumer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateConsumerResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建日志下载任务,导出原始日志
# @param request: Request instance for CreateExport.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateExportRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateExportResponse`
def CreateExport(request)
body = send_request('CreateExport', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateExportResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建索引
# @param request: Request instance for CreateIndex.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateIndexRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateIndexResponse`
def CreateIndex(request)
body = send_request('CreateIndex', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateIndexResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建日志集,返回新创建的日志集的 ID。
# @param request: Request instance for CreateLogset.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateLogsetRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateLogsetResponse`
def CreateLogset(request)
body = send_request('CreateLogset', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateLogsetResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建机器组
# @param request: Request instance for CreateMachineGroup.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateMachineGroupRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateMachineGroupResponse`
def CreateMachineGroup(request)
body = send_request('CreateMachineGroup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateMachineGroupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 创建新的投递规则,【!!!注意】使用此接口,需要检查是否配置了投递COS的角色和权限。如果没有配置,请参考文档投递权限查看和配置https://cloud.tencent.com/document/product/614/71623。
# @param request: Request instance for CreateShipper.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateShipperRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateShipperResponse`
def CreateShipper(request)
body = send_request('CreateShipper', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateShipperResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于创建日志主题。
# @param request: Request instance for CreateTopic.
# @type request: :class:`Tencentcloud::cls::V20201016::CreateTopicRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::CreateTopicResponse`
def CreateTopic(request)
body = send_request('CreateTopic', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateTopicResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除告警策略。
# @param request: Request instance for DeleteAlarm.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteAlarmRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteAlarmResponse`
def DeleteAlarm(request)
body = send_request('DeleteAlarm', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteAlarmResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用于删除通知渠道组
# @param request: Request instance for DeleteAlarmNotice.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteAlarmNoticeRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteAlarmNoticeResponse`
def DeleteAlarmNotice(request)
body = send_request('DeleteAlarmNotice', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteAlarmNoticeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除采集规则配置
# @param request: Request instance for DeleteConfig.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteConfigRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteConfigResponse`
def DeleteConfig(request)
body = send_request('DeleteConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除特殊采集规则配置
# @param request: Request instance for DeleteConfigExtra.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteConfigExtraRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteConfigExtraResponse`
def DeleteConfigExtra(request)
body = send_request('DeleteConfigExtra', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteConfigExtraResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除应用到机器组的采集配置
# @param request: Request instance for DeleteConfigFromMachineGroup.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteConfigFromMachineGroupRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteConfigFromMachineGroupResponse`
def DeleteConfigFromMachineGroup(request)
body = send_request('DeleteConfigFromMachineGroup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteConfigFromMachineGroupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除投递配置
# @param request: Request instance for DeleteConsumer.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteConsumerRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteConsumerResponse`
def DeleteConsumer(request)
body = send_request('DeleteConsumer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteConsumerResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除日志下载任务
# @param request: Request instance for DeleteExport.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteExportRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteExportResponse`
def DeleteExport(request)
body = send_request('DeleteExport', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteExportResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除日志主题的索引配置,删除索引配置后将无法检索和查询采集到的日志。
# @param request: Request instance for DeleteIndex.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteIndexRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteIndexResponse`
def DeleteIndex(request)
body = send_request('DeleteIndex', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteIndexResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除日志集。
# @param request: Request instance for DeleteLogset.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteLogsetRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteLogsetResponse`
def DeleteLogset(request)
body = send_request('DeleteLogset', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteLogsetResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除机器组
# @param request: Request instance for DeleteMachineGroup.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteMachineGroupRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteMachineGroupResponse`
def DeleteMachineGroup(request)
body = send_request('DeleteMachineGroup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteMachineGroupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 删除投递规则
# @param request: Request instance for DeleteShipper.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteShipperRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteShipperResponse`
def DeleteShipper(request)
body = send_request('DeleteShipper', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteShipperResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于删除日志主题。
# @param request: Request instance for DeleteTopic.
# @type request: :class:`Tencentcloud::cls::V20201016::DeleteTopicRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DeleteTopicResponse`
def DeleteTopic(request)
body = send_request('DeleteTopic', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteTopicResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用于获取通知渠道组列表
# @param request: Request instance for DescribeAlarmNotices.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeAlarmNoticesRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeAlarmNoticesResponse`
def DescribeAlarmNotices(request)
body = send_request('DescribeAlarmNotices', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeAlarmNoticesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取告警策略列表。
# @param request: Request instance for DescribeAlarms.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeAlarmsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeAlarmsResponse`
def DescribeAlarms(request)
body = send_request('DescribeAlarms', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeAlarmsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取特殊采集配置
# @param request: Request instance for DescribeConfigExtras.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeConfigExtrasRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeConfigExtrasResponse`
def DescribeConfigExtras(request)
body = send_request('DescribeConfigExtras', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeConfigExtrasResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取采集规则配置所绑定的机器组
# @param request: Request instance for DescribeConfigMachineGroups.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeConfigMachineGroupsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeConfigMachineGroupsResponse`
def DescribeConfigMachineGroups(request)
body = send_request('DescribeConfigMachineGroups', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeConfigMachineGroupsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取采集规则配置
# @param request: Request instance for DescribeConfigs.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeConfigsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeConfigsResponse`
def DescribeConfigs(request)
body = send_request('DescribeConfigs', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeConfigsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取投递配置
# @param request: Request instance for DescribeConsumer.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeConsumerRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeConsumerResponse`
def DescribeConsumer(request)
body = send_request('DescribeConsumer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeConsumerResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取日志下载任务列表
# @param request: Request instance for DescribeExports.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeExportsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeExportsResponse`
def DescribeExports(request)
body = send_request('DescribeExports', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeExportsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取索引配置信息
# @param request: Request instance for DescribeIndex.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeIndexRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeIndexResponse`
def DescribeIndex(request)
body = send_request('DescribeIndex', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeIndexResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于搜索日志上下文附近的内容
# @param request: Request instance for DescribeLogContext.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeLogContextRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeLogContextResponse`
def DescribeLogContext(request)
body = send_request('DescribeLogContext', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLogContextResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于构建直方图
# @param request: Request instance for DescribeLogHistogram.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeLogHistogramRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeLogHistogramResponse`
def DescribeLogHistogram(request)
body = send_request('DescribeLogHistogram', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLogHistogramResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取日志集信息列表。
# @param request: Request instance for DescribeLogsets.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeLogsetsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeLogsetsResponse`
def DescribeLogsets(request)
body = send_request('DescribeLogsets', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeLogsetsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取机器组绑定的采集规则配置
# @param request: Request instance for DescribeMachineGroupConfigs.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeMachineGroupConfigsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeMachineGroupConfigsResponse`
def DescribeMachineGroupConfigs(request)
body = send_request('DescribeMachineGroupConfigs', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeMachineGroupConfigsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取机器组信息列表
# @param request: Request instance for DescribeMachineGroups.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeMachineGroupsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeMachineGroupsResponse`
def DescribeMachineGroups(request)
body = send_request('DescribeMachineGroups', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeMachineGroupsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取制定机器组下的机器状态
# @param request: Request instance for DescribeMachines.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeMachinesRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeMachinesResponse`
def DescribeMachines(request)
body = send_request('DescribeMachines', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeMachinesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取主题分区列表。
# @param request: Request instance for DescribePartitions.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribePartitionsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribePartitionsResponse`
def DescribePartitions(request)
body = send_request('DescribePartitions', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribePartitionsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取投递任务列表
# @param request: Request instance for DescribeShipperTasks.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeShipperTasksRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeShipperTasksResponse`
def DescribeShipperTasks(request)
body = send_request('DescribeShipperTasks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeShipperTasksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取投递规则信息列表
# @param request: Request instance for DescribeShippers.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeShippersRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeShippersResponse`
def DescribeShippers(request)
body = send_request('DescribeShippers', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeShippersResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取日志主题列表,支持分页
# @param request: Request instance for DescribeTopics.
# @type request: :class:`Tencentcloud::cls::V20201016::DescribeTopicsRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::DescribeTopicsResponse`
def DescribeTopics(request)
body = send_request('DescribeTopics', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeTopicsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于获取告警任务历史
# @param request: Request instance for GetAlarmLog.
# @type request: :class:`Tencentcloud::cls::V20201016::GetAlarmLogRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::GetAlarmLogResponse`
def GetAlarmLog(request)
body = send_request('GetAlarmLog', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = GetAlarmLogResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于合并一个读写态的主题分区,合并时指定一个主题分区 ID,日志服务会自动合并范围右相邻的分区。
# @param request: Request instance for MergePartition.
# @type request: :class:`Tencentcloud::cls::V20201016::MergePartitionRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::MergePartitionResponse`
def MergePartition(request)
body = send_request('MergePartition', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = MergePartitionResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改告警策略。需要至少修改一项有效内容。
# @param request: Request instance for ModifyAlarm.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyAlarmRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyAlarmResponse`
def ModifyAlarm(request)
body = send_request('ModifyAlarm', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyAlarmResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 该接口用于修改通知渠道组
# @param request: Request instance for ModifyAlarmNotice.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyAlarmNoticeRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyAlarmNoticeResponse`
def ModifyAlarmNotice(request)
body = send_request('ModifyAlarmNotice', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyAlarmNoticeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改采集规则配置
# @param request: Request instance for ModifyConfig.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyConfigRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyConfigResponse`
def ModifyConfig(request)
body = send_request('ModifyConfig', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyConfigResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改特殊采集配置任务
# @param request: Request instance for ModifyConfigExtra.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyConfigExtraRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyConfigExtraResponse`
def ModifyConfigExtra(request)
body = send_request('ModifyConfigExtra', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyConfigExtraResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改投递任务
# @param request: Request instance for ModifyConsumer.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyConsumerRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyConsumerResponse`
def ModifyConsumer(request)
body = send_request('ModifyConsumer', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyConsumerResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改索引配置
# @param request: Request instance for ModifyIndex.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyIndexRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyIndexResponse`
def ModifyIndex(request)
body = send_request('ModifyIndex', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyIndexResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改日志集信息
# @param request: Request instance for ModifyLogset.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyLogsetRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyLogsetResponse`
def ModifyLogset(request)
body = send_request('ModifyLogset', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyLogsetResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改机器组
# @param request: Request instance for ModifyMachineGroup.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyMachineGroupRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyMachineGroupResponse`
def ModifyMachineGroup(request)
body = send_request('ModifyMachineGroup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyMachineGroupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 修改现有的投递规则,客户如果使用此接口,需要自行处理CLS对指定bucket的写权限。
# @param request: Request instance for ModifyShipper.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyShipperRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyShipperResponse`
def ModifyShipper(request)
body = send_request('ModifyShipper', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyShipperResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于修改日志主题。
# @param request: Request instance for ModifyTopic.
# @type request: :class:`Tencentcloud::cls::V20201016::ModifyTopicRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::ModifyTopicResponse`
def ModifyTopic(request)
body = send_request('ModifyTopic', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyTopicResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 重试失败的投递任务
# @param request: Request instance for RetryShipperTask.
# @type request: :class:`Tencentcloud::cls::V20201016::RetryShipperTaskRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::RetryShipperTaskResponse`
def RetryShipperTask(request)
body = send_request('RetryShipperTask', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = RetryShipperTaskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于检索分析日志, 该接口除受默认接口请求频率限制外,针对单个日志主题,查询并发数不能超过15。
# @param request: Request instance for SearchLog.
# @type request: :class:`Tencentcloud::cls::V20201016::SearchLogRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::SearchLogResponse`
def SearchLog(request)
body = send_request('SearchLog', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SearchLogResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口用于分裂主题分区
# @param request: Request instance for SplitPartition.
# @type request: :class:`Tencentcloud::cls::V20201016::SplitPartitionRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::SplitPartitionResponse`
def SplitPartition(request)
body = send_request('SplitPartition', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = SplitPartitionResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# ## 提示
# 为了保障您日志数据的可靠性以及更高效地使用日志服务,建议您使用CLS优化后的接口[上传结构化日志](https://cloud.tencent.com/document/api/614/16873)上传日志。
# 同时我们给此接口专门优化定制了多个语言版本的SDK供您选择,SDK提供统一的异步发送、资源控制、自动重试、优雅关闭、感知上报等功能,使上报日志功能更完善,详情请参考[SDK采集](https://cloud.tencent.com/document/product/614/67157)。
# 同时云API上传日志接口也支持同步上传日志数据,如果您选继续使用此接口请参考下文。
# ## 功能描述
# 本接口用于将日志写入到指定的日志主题。
# 日志服务提供以下两种模式:
# #### 负载均衡模式
# 系统根据当前日志主题下所有可读写的分区,遵循负载均衡原则自动分配写入的目标分区。该模式适合消费不保序的场景。
# #### 哈希路由模式
# 系统根据携带的哈希值(X-CLS-HashKey)将数据写入到符合范围要求的目标分区。例如,可以将某个日志源端通过 hashkey 与某个主题分区强绑定,这样可以保证数据在该分区上写入和消费是严格保序的。
# 此外日志服务还为用户提供以下两种不同的日志上传模式:
# #### 输入参数(pb二进制流,位于body中)
# | 字段名 | 类型 | 位置 | 必须 | 含义 |
# | ------------ | ------- | ---- | ---- | ------------------------------------------------------------ |
# | logGroupList | message | pb | 是 | logGroup 列表,封装好的日志组列表内容,建议 logGroup 数量不要超过5个 |
# LogGroup 说明:
# | 字段名 | 是否必选 | 含义 |
# | ----------- | -------- | ------------------------------------------------------------ |
# | logs | 是 | 日志数组,表示有多个 Log 组成的集合,一个 Log 表示一条日志,一个 LogGroup 中 Log 个数不能超过10000 |
# | contextFlow | 否 | LogGroup 的唯一ID,需要使用上下文功能时传入。格式:"{上下文ID}-{LogGroupID}"。
上下文ID:唯一标识一个上下文(连续滚动的一系列日志文件,或者是需要保序的一系列日志),16进制64位整型字符串。
LogGroupID:连续递增的一串整型,16进制64位整型字符串。样例:"102700A66102516A-59F59"。 |
# | filename | 否 | 日志文件名 |
# | source | 否 | 日志来源,一般使用机器 IP 作为标识 |
# | logTags | 否 | 日志的标签列表 |
# Log 说明:
# | 字段名 | 是否必选 | 含义 |
# | -------- | -------- | ------------------------------------------------------------ |
# | time | 是 | 日志时间(Unix 格式时间戳),支持秒、毫秒,建议采用毫秒 |
# | contents | 否 | key-value 格式的日志内容,表示一条日志里的多个 key-value 组合 |
# Content 说明:
# | 字段名 | 是否必选 | 含义 |
# | ------ | -------- | ------------------------------------------------------------ |
# | key | 是 | 单条日志里某个字段组的 key 值,不能以`_`开头 |
# | value | 是 | 单条日志某个字段组的 value 值,单条日志 value 不能超过1MB,LogGroup 中所有 value 总和不能超过5MB |
# LogTag 说明:
# | 字段名 | 是否必选 | 含义 |
# | ------ | -------- | -------------------------------- |
# | key | 是 | 自定义的标签 key |
# | value | 是 | 自定义的标签 key 对应的 value 值 |
# ## PB 编译示例
# 本示例将说明如何使用官方 protoc 编译工具将 PB 描述文件 编译生成为 C++ 语言可调用的上传日志接口。
# > ?目前 protoc 官方支持 Java、C++、Python 等语言的编译,详情请参见 [protoc](https://github.com/protocolbuffers/protobuf)。
# #### 1. 安装 Protocol Buffer
# 下载 [Protocol Buffer](https://main.qcloudimg.com/raw/d7810aaf8b3073fbbc9d4049c21532aa/protobuf-2.6.1.tar.gz) ,解压并安装。示例版本为 protobuf 2.6.1,环境为 Centos 7.3 系统。 解压`protobuf-2.6.1.tar.gz`压缩包至`/usr/local`目录并进入该目录,执行命令如下:
# ```
# tar -zxvf protobuf-2.6.1.tar.gz -C /usr/local/ && cd /usr/local/protobuf-2.6.1
# ```
# 开始编译和安装,配置环境变量,执行命令如下:
# ```
# [root@VM_0_8_centos protobuf-2.6.1]# ./configure
# [root@VM_0_8_centos protobuf-2.6.1]# make && make install
# [root@VM_0_8_centos protobuf-2.6.1]# export PATH=$PATH:/usr/local/protobuf-2.6.1/bin
# ```
# 编译成功后,您可以使用以下命令查看版本:
# ```
# [root@VM_0_8_centos protobuf-2.6.1]# protoc --version
# liprotoc 2.6.1
# ```
# #### 2. 创建 PB 描述文件
# PB 描述文件是通信双方约定的数据交换格式,上传日志时须将规定的协议格式编译成对应语言版本的调用接口,然后添加到工程代码里,详情请参见 [protoc](https://github.com/protocolbuffers/protobuf) 。
# 以日志服务所规定的 PB 数据格式内容为准, 在本地创建 PB 消息描述文件 cls.proto。
# > !PB 描述文件内容不可更改,且文件名须以`.proto`结尾。
# cls.proto 内容(PB 描述文件)如下:
# ```
# package cls;
# message Log
# {
# message Content
# {
# required string key = 1; // 每组字段的 key
# required string value = 2; // 每组字段的 value
# }
# required int64 time = 1; // 时间戳,UNIX时间格式
# repeated Content contents = 2; // 一条日志里的多个kv组合
# }
# message LogTag
# {
# required string key = 1;
# required string value = 2;
# }
# message LogGroup
# {
# repeated Log logs = 1; // 多条日志合成的日志数组
# optional string contextFlow = 2; // 目前暂无效用
# optional string filename = 3; // 日志文件名
# optional string source = 4; // 日志来源,一般使用机器IP
# repeated LogTag logTags = 5;
# }
# message LogGroupList
# {
# repeated LogGroup logGroupList = 1; // 日志组列表
# }
# ```
# #### 3. 编译生成
# 此例中,使用 proto 编译器生成 C++ 语言的文件,在 cls.proto 文件的同一目录下,执行如下编译命令:
# ```
# protoc --cpp_out=./ ./cls.proto
# ```
# > ?`--cpp_out=./`表示编译成 cpp 格式并输出当前目录下,`./cls.proto`表示位于当前目录下的 cls.proto 描述文件。
# 编译成功后,会输出对应语言的代码文件。此例会生成 cls.pb.h 头文件和 [cls.pb.cc](http://cls.pb.cc) 代码实现文件,如下所示:
# ```
# [root@VM_0_8_centos protobuf-2.6.1]# protoc --cpp_out=./ ./cls.proto
# [root@VM_0_8_centos protobuf-2.6.1]# ls
# cls.pb.cc cls.pb.h cls.proto
# ```
# #### 4. 调用
# 将生成的 cls.pb.h 头文件引入代码中,调用接口进行数据格式封装。
# @param request: Request instance for UploadLog.
# @type request: :class:`Tencentcloud::cls::V20201016::UploadLogRequest`
# @rtype: :class:`Tencentcloud::cls::V20201016::UploadLogResponse`
def UploadLog(request)
body = send_request('UploadLog', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UploadLogResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
end
end
end
end